Page 1 of 3
Creating the first compiler went hand-in-hand with the task to creating the first high-level computer language. You can argue that this was Fortran or some other language, but the fact of the matter is that Fortran was the language that kickstarted the widespread use of computers. This is the story of how it happened.
The story of the computer is usually thought to be the story of metal boxes, glowing valves and spinning tape machines which culminates in the invention of the silicon chip and ever more powerful and sophisticated designs.
However, once you have the basic idea of a stored program computer so much of the development can be seen as engineering. Producing a better memory, a faster CPU and so on - the software is just what runs on a particular hardware, an afterthought.
But the link between software and hardware has been slowly eroded to the point where now a program exists without any reference to the hardware needed to run it. A strange idea and one of its earliest pioneers and champions was John Backus - the man who invented the first influential high level language, FORTRAN, the acronym meaning FORmula TRANslation.
John Warner Backus, 1924 - 2007
John Backus took an unlikely route to becoming one of the most important figures in software's history. He was thrown out of a chemical engineering course in 1942 for not attending classes. He was then drafted into the army and studied engineering for a short time. Then he spent a short time learning medicine before deciding that it wasn't for him. Eventually he left the army (in 1946) and lived a fairly low key existence in New York.
Then he became interested in building a hi-fi set and so he enrolled in the Radio Television Institute in New York which trained radio and TV repair men. A sympathetic tutor introduced him to mathematics and Backus began taking courses in math at Columbia University. He received his degree in 1949 and went on to a Masters degree in 1950.
It would be interesting to find out why the education system failed him so completely in the early days and thank goodness there are sometimes second chances in adult education. However, there wasn't much you could do with a masters degree in math - except teach other mathematicians and Backus didn't want to be a teacher.
At this point the aimless wandering of the early part of his life might have returned except that he had the luck to apply for a job with IBM.
In Spring 1949 Backus visited the IBM Computer Center where he toured the Selective Sequence Electronic Calculator (SSEC), one of IBM’s early electronic computers. He mentioned to the guide that he was looking for a job. She encouraged him to talk to the director of the project, and he was hired to work on the SSEC as a programmer.
IBM's SSEC - part electronic, part mechanical
The SSEC was part mechanical and part electronic but it was one of the earliest computers to allow programs to alter what it did.
At the time no one really knew what a programmer was exactly and Backus knew nothing at all about computers but he stayed with the project for a year and then moved on to the IBM 701.
The 701, or the Defence Calculator, was a machine for scientific use and a precursor of IBM's long line of highly successful scientific and business computers. Backus led a team developing an intermediate language called Speedcoding. This language made the 701 look as if it had floating point arithmetic operations and index registers. Even at this early stage the importance of software over hardware was beginning to be felt. Backus helped design the 704 which had these features implemented in hardware - and of course the only difference was that they worked faster.
The 701 Control Panel (IBM)