Programming Languages

Gaff:  It's too bad she won't live! But then again, who does?

Blade Runner (1982)

 

Dominic Vautier
updated 6-2012
again 1-14


In my long existence on this earth I was exposed to a number of programming languages, probably more than your average street-corner programmer.  Of course much material can be found that goes into these languages in great detail but none of the literature has any heart.  My intent is to offer some first hand impressions (be them as they may be).  I can offer a different slant to a topic which is utterly devoid of life or meaning, much like teaching a dictionary.  Hey I taught IBM OS JCL and actually made a go of it.  Nothing can be more difficult or uninteresting than OS JCL. To me all programming has been absolutely and exhaustingly exciting.

Programming languages were developed in all shapes and sizes.  They started out as very limited machine based "metal scratching" code generating things that were more like firmware than anything else, way too close to the machine.  By firmware I mean that they offered mostly I/O with limited data manipulation and were fairly fixed, depending very much upon a particular machine architecture and were often "burned" into the machine itself.

Some decision making was possible but the flexibility was quite limited and the functionality was even more severely limited.  Such programs were nothing more than learning tools or experiments to give the machine some kind of life and meaning.  Early developmental programs that I worked with included the 8080 and Z80 chips, that had to depend on cross compilers to assemble because the chips weren't smart enough to do anything else but run basic code sets.  Modern computer language compilers grew out of these initial efforts and the tireless work on the part of early compiler developers.  This work is not to be understated.  The development that these early compiler programmers did was time and effort indeed well spent.

Some languages were designed for business, others for scientific work, and still other languages try to do specific things like determine satellite orbits and calculate volumes and flows or run machine tools.

The simplest language however can be made needlessly complex and the most sophisticated and powerful languages can generate some truly fine simple code.  It's so much in the hands of the programmer.  It's like writing a book.  Everybody uses the same words, but it's the author who can generate beauty and art.

As stated above, the computer languages described here are well documented elsewhere (and often poorly and incorrectly documented).  These are my views but I have used these computer languages extensively and know them quite well--or better said, I used to know them quite well.

Once my older son entered a computer course at a major university and asked me for some help on a C++ program.  I was utterly confounded.


SOME COMPUTER LANGUAGES

 

IBM Basic Assembly Language was considered the superprogrammer language.  It contains exactly the machine level instruction set or very close to it, and was the basis for all IBM 360 architecture.  It was a true "metal scratcher".  This language was always my favorite.  If done properly it could be clean and precise and could deliver very efficient and maintainable source code.  With proper use of overlays (dsects) and file definition layouts and some other techniques it could be most easy understood. Here is one brief example.


Basic assembler programmers soon became a vanishing breed.  There were few if any assembler programmers around and management was obviously hesitant in supporting assembly language as a shop standard.  You could only use it in areas that needed to be very efficient or that involved lower machine functions.  The systems programmers were usually the only ones allowed to write in BAL.

Basic was a microcomputer language.  It had nothing to do with BAL.  I found it exceptionally easy to use and was able to develop applications very fast.  It was an interactive language with lots of neat development tools like TRON (trace on) and TROFF (trace off).

I remember many stories about some of my early design and development efforts in basic.  Here is one I could share.


The COBOL language (common business oriented language) stands out as the most popular business language that ever existed.  It far exceeded ADPAC and RPG.  Most business shops adopted the COBOL language as their development standard by as early as 1970.  The language was simple to learn and attempted to be self documenting, encouraging the use of regular English nouns and verbs in it's procedures.  But programmers have very different ideas about English nouns and verbs and programmers also suffer from an inclination to make any business task more complex than it needs to be.  Programmers did not speak or think in regular English so there went the idea of making a programming language read like English by having "add" and "move" in the lexicon.

IBM's support of COBOL was very good for a long time and third party diagnostic tools supporting it were excellent.  The language later featured a fine report generator that I liked very much.  But sadly, as time went on and the world evolved into complexity, the idea of simplicity no longer had currency.  Programs just had to be complex.

courtesy of Dilbert comic strip

FORTRAN stood for format translator (whatever that means).  It was the earliest of the modern languages (1956) and it lacked a lot of the features that COBOL had, especially good diagnostic tools and subroutine isolation (PERFORM).  Fortran had strengths however in calculations, and in the use of floating point arithmetic.  It was largely used by the scientific community.  It had difficulty with basic business fields and file management.

RPG was not a free flowing language.  Rather it was, as it was called, a Report Program Generator.  It was a structure that was activated by control commands to do certain functions.  Programmers filled out forms describing what was needed for reporting or file processing.  The RPG program read the instructions and performed the appropriate actions.  RPG2 came along a few years later and enjoyed slightly greater success.

ADPAC was an RPG on steroids.  It contained a lot of builtin logic structures for simple batch updates and file matches.  It had enough flexibility to allow for just about any reasonable batch process to be performed with ease.  I remember ADPAC was quite popular in the early 1970s.  Often programmers carried on endless discussions of the update and matching logic that were part and parcel of ADPAC.  Programmers talked in ADPAC endlessly to the utter consternation of anybody within earshot.

PL1 was IBMs feeble attempt at a higher level language (like there was going to be a PL2).  It was a cross between a primitive C language and FORTRAN.  It did not last long but I liked it anyway, sort of.  It was more like a dialect of what would later be C

C Language has become the most popular of recent computer languages spinning off several varieties such as C++ and C#.  The purported advantages of C was heavily advertised when it was first announced.  As far as I can see the language had way too much power for everyday use and had lots of opportunities to create mischief.  When a computer language is very rich in features the features can be overused and generate unimaginable trouble.  This is exactly the way I feel about C and all it's brood.

DB2 and ORACLE are data base languages.  They can be imbedded in other languages.  Their purpose is to organize, file and collect data much like the old TAB applications did.  DB2 (data base 2, I never saw DB1) was a relational Data base system introduced by IBM and had a lot of properties very similar to Oracle, but it was hosted exclusively on IBM equipment.

IMS (information management system) was an early data base system, the first comprehensive language of it's kind introduced by the company and well supported.  It was hierarchical in structure but had the means to generate relational structures.  I was very involved in the implementation of many IMS systems.  

Oracle was practically a copy of DB2 except that it could run in many environments such as UNIX, SUN, and a number of other platforms.  It was adopted to PCs and became a dominant player.

JAVA was developed first by sun systems and ran on UNIX.  I did not like it very much because it is only a rehash C language.  It offers little advantage. 

HDML is a web page formatter.  It does not qualify as a programming language.  It is more a tool similar to MFS (message format service) used by IBM for it's IMS applications.

Return to previous page or just hit the back button
Return to my home page