[ale] [ALE] Happy Birthday BASIC

Jon "maddog" Hall jon.maddog.hall at gmail.com
Thu May 23 11:32:58 EDT 2024


>The first time I ever met anyone who had ever used COBOL was in my 30s.
He struggled to learn UNIX and java.

I never programmed in COBOL other than writing one or two programs back at
Drexel University in a "comparative language" course.   We "learned" 11
different languages in 11 weeks, including APL.

However, in my second professional job, my first job as a professional
programmer, I programmed in assembler language on IBM mainframes.   At that
job I sometimes had COBOL programmers come to me with problems they could
not solve.   Once or twice I found the compilers were making mistakes.

Many times the errors in the compilers happened due to errors in
optimization.   Optimizing compilers were still being developed back in
those days, and often as you went from one level of optimization to another
the optimizer would make mistakes.   By forcing the compiler to generate
the machine code I could look at what the compiler was generating and go
"AHA!".   The COBOL programmer could have looked at his sources for the
rest of his life and not seen the answer.

One reason that your friend probably struggled to learn Unix and Java was
because COBOL (at least the version that I was familiar with) had no
concept of pointers or registers or things like that.   The Unix operating
system, with its hierarchical file system (as opposed to IBM's flatter file
systems) and its multiple directories for holding executables (/bin,
/usr/bin, $HOME/bin, etc.) and libraries (/lib, /usr/lib, $HOME/lib) were
confusing.

About 1980 or so I tried desperately to teach "C" to a COBOL programmer.
He COULD NOT understand pointers, despite my taking him aside and spending
hours during lunch and after class drawing diagrams of registers, memory,
etc.   He had never studied assembly language.

About the same time I was teaching evening courses at a college in North
Andover, MA and wanted to teach a course in PDP-11 assembler.   The day
school department head Computer Science kept vetoing me offering this as an
elective course.   Finally the Dean of the evening school suggested I go
talk to him.

The day school department head asked me why I was so intent on teaching
this assembly language course.   I replied that when I was teaching
compiler design or operating systems design that it was helpful if the
students understood machine architecture.   I also said:

"It is even helpful when teaching reentrant, recursive programming."

I did not notice at first that the department head's eyes unfocused and
refocused on me again when I said that, but after a few more minutes he
said:

"OK, go ahead and teach the course, but when you get to that part about
"reentrant, recursive programming" would you call me into your class?  I
never understood that."

And now you know the REST of the story.

Regards,

Jon "maddog" Hall

On Thu, May 23, 2024 at 11:11 AM DJPfulio--- via Ale <ale at ale.org> wrote:

> On 5/23/24 10:28, Chuck Payne via Ale wrote:
> >
> > I am surprise with all the talk of fortran, that poor cobol being left
> in the cold.
>
> COBOL is for business majors.  Science and engineering used FORTRAN.
> Probably because there were huge math and engineering libraries for it.
>
> The first time I ever met anyone who had ever used COBOL was in my 30s.
> He struggled to learn UNIX and java.  The company was paying for his
> training and he was surprised at how more productive he could be.  It was a
> completely new experience for his mainframe-ass.
>
> I started out with BASIC, then FORTRAN66, then a few variants of FORTRAN
> in college before my first real job, cross-compiling on an IBM mainframe
> for an AP-101/S.  While there, the company pushed people to learn Ada, but
> I chose to learn C and C++ instead. More generalized use.  Ada would likely
> have trapped me in more DoD work.
>
> Learning C/C++ on PC-DOS, OS/2 and working some after hours projects for
> the company made it possible to switch to a different contract that used
> UNIX, not mainframes. Our team supported all the UNIXen, Win32s and MacOS
> with the same code.
>
> Actually met Maddog at a small meeting in Houston because our primary
> platform was Alpha on OSF/1. He was handing out "RedHat and Alpha"
> temporary tattoos and trying to convince us that we should get behind Linux
> since the hardware platform wasn't going to be as important as the OS and
> Linux was being ported to everything.  He was right, but a little early.
> ;)   Visionaries often are.  The customer didn't want us using any F/LOSS
> at all at the time and they didn't want us connected to the internet for
> any programming.  Almost all programming happened in an air-gapped network
> using tools that they'd approved and provided. Doing what the customer
> wants is important.
>
> That job completely changed everything in my life.  It's like switching
> from driving a moped (MS-Windows) or a train pulling 1000 boxcars
> (TSO/ISPF), to a Ferrari that could scale up or down to the size needed.
> I've used everything with Unix from Cray systems down to thumb-sized NAS
> devices and they all fell about the same at the shell.  Oddly, I've never
> used any Vax or PDP systems.  The lab were I worked had one of almost
> everything, just not those.
>
> Before sending someone to learn BASIC, I'd put them on bash or python.
> Whenever a bash script is over 1 page, I use that as a sign to move to a
> better language, if that's an option.  I'm a perl guy, so perl is my
> poison, but for someone new who can get passed the mandated/stupid
> indentation then Python is probably the best 2nd language.  Then I'd go
> with C.
>
> Of course, if someone is being paid to use "Joe's Language" (whatever that
> is), then that's what they need to learn and know.
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> https://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.ale.org/pipermail/ale/attachments/20240523/27bacd5b/attachment.htm>


More information about the Ale mailing list