Embedded.com
|
These are my own personal views and not those of my company Phaedrus Systems see www.phaedsys.com which is where the full version of this column, with links etc, resides under the Documents tab.
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 of 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 it’s predecessors but on nearly all it’s 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, 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 1940’s, 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 as such. Let alone anything standard like Unix or Windows. In fact almost every computer had it’s 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…. though 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.
So many of you are using concepts and are influenced by a programming language many of you will never have seen and many never heard of. As for the name: Algol stood for Algorithmic Language. Unlike Fortran which was a formula translator Algol was for algorithms. IE Problem solving. However as Algol did not have standard IO, or defined libraries, sub compilation or re-locatable binaries and the scientists stayed with their FORmula TRANslator which still survives today.
Whilst 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 fro ever since. It predated common API’s and operating systems. Actually it predated a common anything in computing. 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 1970’s. 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. Especially 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! See http://www.ngte.co.uk/
Actually there is a serious point. Much of the old Algol documentation was typed with a typewriter... Note: a typewriter is a non-editable word processor with direct output and no storage. There is no backup or file to store. Ask your parents. Well, when did you last see a typewriter in an office?
Modern computers can transfer data from one electronic store to another over the years… For example all the data on my 8” floppies was transferred to 5&1/4 and then 3&1/2 before finally onto a hard disk and some archived to DVD’s. Once on a hard disk and backed up the data can live for ever. Also if you have it “on disk” you can usually get or even write your own translator get it into a new format. So data will survive… though it can still be lost somewhere on he terabytes of storage we all now have. (I have nearly 8 terabytes sitting under the desk.)
However much of the data from early computers is on fading one off hard copies, stacks of punched cards for long obsolete readers. Though there are now 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 or copy type them.
On the other hand these days 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 according to my friend Victor Meldrew... 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… 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 http://uk.linkedin.com/in/waynehorkan quantified this in a graph called the Hype Curve. See diagram.
It seems that everything gets hyped, and as mentioned due to the global reach of the internet, critical mass is reached very quickly and easily. Then there is the crash and the long slow build back up, if in deed there is any real content.
Well it seems that Agile, the latest craze in programming, has at last hit, or is nearing the top of it’s 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, estimates that "75% of those organizations using Scrum will not succeed in getting the benefits that they hope for from it." Well this is par for the course. I remember similar problems with other silver bullet solutions and methods.
The problem is people rush in with much enthusiasm but little though and care, or at least nowhere near as much thought and care as they should take, throwing out the old methods that were often not properly implemented in the first place. Lurching from one set of problems with the old method, to new problems with the new method. 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 be they waterfall, V, W, spiral or scrum.
The problem is the hype and enthusiasm, an almost religious fervour in some cases, 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.
Incidentally on a parallel thought regarding analysis and care Dr. Nancy G. Leveson Professor of Aeronautics and Astronautics, Professor of Engineering Systems and Director, Complex Systems Research Lab (CSRL) at MIT commented that: “Virtually every software-related accident I have heard about in the past 30 years (and I've seen a lot of them) occurred while the software was "performing as specified."
This is borne out by report a decade ago by Ron Bell and PA Bennet that 44% of safety critical projects failed due to specification errors. So what it comes down to is implementing a process, any process, correctly and then getting the specification correct.
So before you change horses mid race or change project methods make sure the one you are using is working properly. If there are problems why are there problems and can they be fixed? If the new method would fix these problems what other problems would the new method cause? If 3 out of 4 users are not getting the results from Scrum that they hoped I would ask what results were they getting with the previous method….. the problems my not be one of the process used but something more fundamental.
Thanks for the feedback on last months column on the death of death by power point. As many said power point is just a tool and any tool can be miss used. I will be able to let you know in next month’s column how it went.
As usual any comments, money, praise or death threats to chills@phaedsys.com
Eur Ing Chris Hills BSc CEng MIET MBCS MIEEE FRGS FRSA is a Technical Specialist and can be reached at This Contact
Copyright Chris A Hills 2003 -2008
The right of Chris A Hills to be identified as the author of this work has been asserted by him in accordance with the Copyright, Designs and Patents Act 1988