At the dawn of the computer age, an elite development team at IBM built the most influential computer programming language in history: FORTRAN. Abstracting Away the Machine tells the epic story of how they did it–and what happened next.
Over the past six decades, programming languages like ALGOL, BASIC, C/C++, COBOL, Java, LISP, LOGO, Pascal, PL/I, Python, Visual Basic, and many others opened up the field of computer science, and of computer programming in general, to the masses. But all of these high-level languages (HLLs)–computer languages that automate, hide, or otherwise abstract away the underlying operations of the machine–owe a huge debt of gratitude to FORTRAN (FORmula TRANslation), the first HLL to achieve widespread adoption.
Many programming practices that we take for granted now came about as a result of FORTRAN. Created over a three-year period at IBM by a development team led by a brilliant but wayward mathematician named John W. Backus, FORTRAN was implemented initially on the IBM 704 mainframe computer in the mid-1950s, with dialects of the language quickly spreading thereafter to other platforms.
FORTRAN’s powerful compiler, which translated human-readable code into code a computer could understand, produced incredibly clean and optimized standalone executable programs, all of which could be run independently of the compiler, setting the standard for decades to come–and overcoming the doubts of many skeptics along the way, who thought the FORTRAN project would never succeed. In the 1960s the language was standardized, with machine-dependent commands excised, and many platform-independent implementations followed. With the language now portable, able to run on any computer (at least in theory), FORTRAN, almost by accident, secured a stranglehold in the fields of science and engineering. The language also came to dominate in the supercomputing industry.
But FORTRAN, a blue-collar workhorse more concerned with results than with style, was a victim of its own success–the language sowed the seeds of its own demise. New high-level languages sprouted up, stealing the good bits from FORTRAN while simultaneously defining themselves in opposition to it. FORTRAN had become the foil. As these new languages pierced the cutting edge of the programming landscape, they redefined computing paradigms (e.g., with structured programming, object-oriented programming, and the like), and FORTRAN–though eventually (and repeatedly) modernized and formally renamed Fortran–struggled to keep up through multiple standardization efforts, finally ceding significant ground to its successors as it slowly withdrew from the spotlight. To add insult to injury, even John Backus eventually turned against his creation.
This is not a book on how to program in FORTRAN, nor is it a technical manual. Rather, the focus in Abstracting Away the Machine, which chronicles the complete history and development of the FORTRAN programming language, is set squarely on telling three interlocking stories: (1) How an elite group of computing trailblazers built FORTRAN, (2) Why the conditions at the time were ripe for them to succeed, and (3) What happened after they did.
Tracing the long arc of FORTRAN’s development and maturation is integral to understanding not only the history of programming but also the state of computer science today. The birth of FORTRAN planted a seed that led to the full flowering of high-level languages, since FORTRAN overcame initial skepticism by demonstrating to the world that a well-made HLL really could abstract away the machine.