Computer Languages 22 years on
Many moons ago in the late 1980s, right at the start of my interest in computers, I bought a book about computer languages. The book titled Computer Languages: A Guide for the Perplexed by Naomi S Baron inspired me to get into programming and eventually led me to program professionally (in the sense that somebody paid me 😄 .)
What is interesting, 22 years on, is what has changed and perhaps just as interesting, what hasn’t changed.
The languages highlighted in the book are:
- Ada
- ALGOL
- APL
- Assembly
- BASIC
- C
- COBOL
- FORTH
- FORTRAN
- Intellect
- LISP
- Logo
- micro-PROLOG
- Modula-2
- Pascal
- PILOT
- PL/1
- PROLOG
- QBE
- SIMULA
- Smalltalk
- SNOBOL
The late 1980s saw one of the periodic booms and busts in artificial intelligence and the languages selected for the book reflects that. Believe it or not PROLOG was considered to be a good candidate to become a mainstream language for a time in the mid-late 1980s. You couldn’t move for articles on artificial intelligence using PROLOG in the hobbyist end of the computer press.
Whilst at college I ran across Intellect, a natural language relational database query tool. It did have a spooky ability to understand your queries so I am a little surprised it never caught on. Sometimes technologies don’t fail because of any technical limitations but more for social reasons. Perhaps database administrators didn’t relish the thought of the great unwashed having access to their precious databases?
The rest of the list isn’t much of a surprise and is a pretty good insight into what the business and scientific community was using at the time the book was written.
The two main language strands not present, because they either hadn’t been invented or were very immature, are new dynamic scripting languages like Perl and Python and object oriented extensions to existing statically typed languages like C++ and Java.
You never know, with highly parallel computing architectures becoming the norm, perhaps the likes of LISP and PROLOG still have a role to play?