Resurrection, the bulletin of the Computer Conservation Society, arrived last week with the news that Algol60 is now 50 years old. Now the computing world falls into three groups: Probably the largest who have never heard of Algol, then a slightly smaller group who have heard of it, usually as a successor to Fortran and an input to C, C++, Java and even C#, but never used it. Then the third much smaller group who have used it and know it was the best language ever developed. In fact, Tony Hoare said of it (in 1973), “Here is a language so far ahead of it's time that it was not only an improvement on its predecessors, but on nearly all its successors.” High praise indeed! So why don't we still use it?
Fortran is still in use and that predates Algol. However, languages such as Pascal (and the Modular/Oberon family), Simula, and smalltalk that were influenced by Algol have all but disappeared. I will now get protesting emails from the 1000 or so people still using those languages! And the 100 still using Forth.
In 1960, computing in the modern sense had been around for less than 20 years. Though in reality, as an industry or profession, from the first non-secret computers from the late 1940s, it was barely a decade before Algol. That is only 60-odd years ago. There are people alive now who were involved in developing those first computers. My own father started programming in 1952 and is still with us.
Back in those days computers, even the few but growing number of commercial computers were almost experimental. There were few standards as no one had any best practice or history to work from. There was nothing to work from at all; it was all blue sky thinking, or rather “light grey sky” as most things were still in black and white then!
Everyone had their own link-loaders to load and start programs as there were few operating systems, let alone anything standard like Unix or Windows. In fact, almost every computer had its own system, even from the same manufacturer. This started to cause multiple dialects. Manufacturers had their own reserved words so “improved” Algols were not compatible with each other. OK, so some things don't change, although I did find a note that the Atlas computer had a pre-processor that could handle 15 dialects of Algol including Danish and French. Finally, Algol was paper tape-based just as punch cards started to come in. There were efforts to make a punch card dialect but these did not appear to get very far.
As for the name, Algol stood for Algorithmic Language. Unlike Fortran, which was a formula translator, Algol was for algorithms, i.e., problem solving. However, as Algol did not have standard I/O or defined libraries, sub-compilation or re-locatable binaries, the scientists stayed with their FORmula TRANslator which still survives today.
The language was advanced with structural elements—yes, structured programming started here! It also had the important concepts of simplicity, security, and clarity that most have strived for ever since. It predated common APIs and OSs. As Algol fragmented, others were using its ideas and concepts in new languages designed for new machines as things started to standardise. The other point is that Algol was designed for mainframes. It was not one of the languages that appeared on the new “toy” computers a decade later at the end of the 1970s. Who could tell that these personal, home, or hobby computers would become ubiquitous?As the mainframes that used Algol died out, so did the use of the language, though it's spirit lives on even if it is not recognised by many. The question is where you put commemorative plaques for a concept that was developed in many places and lived only in fragile cyberspace. Sadly, the UK, unlike the US, does not tend to mark or highlight it's many technical achievements, so things are lost in obscurity. This is especially true as many of the places were covered by national security and have long since been demolished without regard for history. For example the test facility where Frank Whittle developed the jet engine was demolished to make way for a traffic island!
Actually there is a serious point. Much of the old Algol documentation was typed with a typewriter, a device with direct output and no storage. There is no backup or file to store. Modern computers can transfer data from one electronic store to another over the years. For example, all the data on my 8-in. floppies was transferred to 5-1/4, then 3-1/2 before finally onto a hard disk and archived to DVDs. Once on a hard disk and backed up, the data can live forever. Also if you have it “on disk” you can usually get or even write your own translator in a new format. However much of the data from early computers is on fading hard copies, stacks of punched cards for obsolete readers. While there are a few computer museums and probably still some university basements with the hardware to read the cards, the best we can do with the documentation is scan the pages.
On the other hand, there is a vast amount data stored in and around the Internet that the world and humanity could well afford to delete. Twitter and Facebook for a start. I have noticed that the use of blogs and Twitter has decreased of late. It is a bit like starting a diary in the first of January and not being able to remember where you left it by the first of February. Everyone starts, but after a while most stop doing it when the hype has died down.
Hype is a common problem. Every new idea, thanks the Internet, is gasped with enthusiasm by large parts of the planet and it can self amplify out of all proportion. However when reality hits there is a lot further to fall. Wayne Horkan of Horkan Consultancy Services quantified this in a graph called the Hype Curve.
It seems that everything gets hyped, and as mentioned due to the global reach of the Internet, critical mass is reached quickly and easily. Then there is the crash and the long slow build back up, if indeed there is any real content. It seems that Agile, the latest craze in programming, has at last hit, or is nearing the top of its hype curve and will be falling down. I got an email from a training company offering courses in Scrum that quotes Ken Schwaber, co-creator of Scrum, who estimates that 75% of those organizations using Scrum will not succeed in getting the benefits that they hope for from it” This is par for the course. I remember similar problems with other silver bullet solutions and methods.
The problem is that people rush in with much enthusiasm but little thought and care, or at least nowhere near as much thought and care as they should, throwing out the old methods that were often not properly implemented in the first place. Despite what Scrum aficionados say, there is little wrong with a properly implemented waterfall model. The problem is that people don't correctly implement these process models.
Another problem is the hype and enthusiasm, an almost religious fervour in some cases, can take the lead over calm analysis and method. Unfortunately, this is a human trait. One only has to look at history to see that the new order will remove all traces of the last one and will brook no suggestion that the new order has any faults at all.