Thought I'd throw my $.02 in.

In the mid 80's I was on the decision team that transitioned from Z80
assembler to C.  Why?  It was easier to train 30 people in C than it was to
train them in 8086 assembler.  At the time, the rest of the shop was
primarily using Assembler-H.  A couple of years later, I was in the MVS
Systems Programming department and my supervisor tasked me to "compare"
high(er) level languages and Assembler.  His goal was to "prove" that
Assembler was better.  So writing a simple IEBGENER type program in PL/I,
C, Cobol, Assembler, and Fortran (the languages that we had compilers for),
I "proved" that, yes, Assembler took fewer resources and ran faster.

However, I spent the next few days trying to convince him that that wasn't
the point.  Although my simple assembler program probably took half an hour
to write and the others about the same (including writing my very first
PL/I program), most programs, especially with complicated logic, would (to
use a physics term, "all else being equal") probably be written faster with
fewer bugs in the higher level language. Even then, with people costs
continuing to rise and machine costs continuing to decline, program
efficiency was less important than "time to deliver".  His other argument
was that assembler programmers were "better" than programmers in other
languages.  My answer to that was "bull****"!  I had seen too many bad
assembler programs in our shop (inefficient and hard to understand and
maintain).  I had also seen bad programs in other languages.  My point to
him was that a good programmer will write good programs using the tools
they have and a bad programmer will write bad code.  However, in the higher
level language, the program logic is usually easier for someone else to
pick up on whether it is well documented or not.

Today, I support a system that is 80% HLASM and the rest C.  I may work on
an assembler program and 15 minutes later be working on one of the C
modules.  I think the real issue now is the lack of "fresh blood" coming
into the gene pool.  The youngest person on my team is in his mid to late
30s and he is "homegrown".  The rest of us are mid-50s and up.  On another
project in the shop, written in C++, the median age is about 40.  While it
is difficult to find C/C++ programmers coming out of college, it is all but
impossible to find anyone using or willing to train to use HLASM. But we
can find Java programmers all day long.

In the long run, Dave Cole's assertion to use high level languages for
machine efficiency is probably the best discussion on this thread.  In my
case, I am just as likely to write something in C as HLASM.  While run time
efficiency is still a goal, reducing errors and maintainability are as
important if not more so.




*Mark*

On Wed, Jan 31, 2018 at 10:39 AM, Robin Vowels <robi...@dodo.com.au> wrote:

> On 31/01/2018 2:53 PM, Paul Gilmartin wrote:
>
>> On 2018-01-30, at 21:21:49, Robin Vowels wrote:
>>
>>>   The MVC and CLC instructions of the IBM /360 came years before
>>> Unix and C.
>>>
>>>
>> ... and were available on all but the most primitive S/360 models.
>>
>
> The 360 model 30 had MVC and CLC.
>
>>
>> I believe that nowadays the z has strlen() and strcpy() in microcode.
>>
>> And I understand that RISC processors came long after C.
>>>
>>>
>> Me, too.
>>
>

Reply via email to