Steve Lohr’s book ‘GO TO—Software Superheroes’ is a treasure trove of anecdotes and insight into programming from the dawn of time—i.e. circa 1950 to the internet age. Today we take for granted the fact that by dragging and dropping a few controls, or by cobbling together a few lines of code, we can make machines do wondrous things. Back in the 1950’s things were very different.
It took true software superheroes to both design the language and write the first FORTRAN compilers. At the time, the majority of machine code hackers doubted it would be possible to have a machine write their carefully crafted byte code. control into an application. There was universal surprise when John Backus’ ‘high level language’ actually ran pretty well as fast as machine code. Incidentally, IBM’s FORTRAN was openly distributed without charge.
IBM was pretty much in the programming driving seat through the 1960s and was first to experience trouble as machines and compilers grew in complexity. The IBM 360 was a $500 million ‘software morass’ before it emerged as ‘one of the business success stories of the postwar era’.
The IBM 360 narrative thread leads to the next superhero—Ken Thompson—who introduced a distinctly sixties ethos. UNIX was developed in part as a reaction to IBM’s ‘authoritarian technocracy despised by so many students.’ Thompson studied the 360 manual (while driving down the freeway from Berkely!) and realized that much could be done to simplify the developer’s task. One big breakthrough came when Doug McIlroy implemented UNIX ‘pipes’—designed to ‘connect programs like garden hose’.
GO TO gets behind the scenes of compiler development—for instance, Tom Kurtz and John Kemeny of Dartmouth College were inspired by C.P. Snow’s seminal work “The Two Cultures”. This convinced them of the need for programming to be part of the liberal arts curriculum—thus was BASIC born.
The tale of Microsoft’s rise to fame and fortune begins not with Bill Gates—but with Charles Simonyi, a Hungarian hacker who cut his programming skills on a Russian Ural II computer. After fleeing Hungary, Simonyi gravitated—like many others to the IT Mecca that was Xerox Palo Alto Research Center (PARC) where he worked with embryonic WYSIWYG editors. A peek at Dan Bricklin’s VisiCalc convinced Simonyi of the potential of what we now know as Office Automation. Subsequent meetings with Bill Gates made the rest ‘history’.
GO TO includes accounts of the births of Java, C++, Tim Berners-Lee’s HTML and the World Wide Web. GO TO offers real insight into what makes a computer language—from BASIC’s unlikely success to worthy failures such as ALGOL . Good design is not enough—languages must perform and satisfy real-world developers. A poor implementation can become a world beater given the right combination of timing and marketing! GO TO is full of forerunners of today’s technical and commercial debates.
All in all, GO TO manages to be simultaneously erudite and entertaining. Read it if you are interested in how we got where we are today, and how little is really new under the IT sun.. Talking of which, Cambridge University IT pioneer Maurice Wilkes observed that “it was not so easy to get a program right first time and that a good part of my life was going to be spent finding errors in my own programs”. Thus was the gentle art of debugging born—back in 1949!
GO TO—Software Superheroes, Steve Lohr/Perseus Books 2002. ISBN 1 86197 243 1.
This article originally appeared in Oil IT Journal 2003 Issue # 3.
For more information or to comment on this topic email here.