RIP, John W. Backus.

Posted by Jacques Chester on Wednesday, March 21, 2007

John W. Backus, inventor of the first and longest-used high-level programming language FORTRAN, died Saturday at the age of 82.

Backus is one of those geniuses which crowded into the first years of computer science. The tragedy is that this field is starting to lose the men and women who shepherded it to its current condition (for good or ill). In 2002 we lost Edsger Dijkstra, and in 2007 we’ve lost Backus.

For regular human beings, Backus’s contribution to the world was the creation of higher-level languages. FORTRAN allowed programmers to create programs more like mathematical formulae (it is an abbreviation of FORmula TRANslation) and less like mechanical instructions. It was estimated that this led to a 10:1 jump in programmer productivity, possibly the largest such jump in computing history.

Backus also invented with Naur the Backus-Naur Form (BNF), a formal way of describing programming language semantics still in wide use. The development of BNF helped to advance the field of compiler design and implementation, which in turn led to the modern proliferation of computer programming languages and which continues to underwrite advancements in the development of better programming languages.

John W. Backus will be missed.



ShareThis
This entry was posted on Wednesday, March 21st, 2007 at 1:11 AM and filed under Science. Follow comments here with the RSS 2.0 feed. Post a comment or leave a trackback.

7 Responses to “RIP, John W. Backus.”

  1. Sacha said:

    I heard from my maths lecturers that in the late 60s and 70s, many people who would probably otherwise have done pure maths went and did computer science (or “applied logic”) instead.

  2. MikeM said:

    “the first and longest-used high-level programming language FORTRAN”

    Rear Admiral Grace Murray Hopper (1906-1992) gave Backus pretty much of a dead heat. Her language, FLOWMATIC, saw the light of day in July 1957 and was the precursor to COBOL, which was running at Remington Rand and RCA in 1960. Arguably there are more COBOL programs than FORTRAN, although the former’s objective - a programming language that could be readily understood by any line manager - was never met, and cannot be met.

    Backus’s most important contribution to computing, rather than FORTRAN, was probably the subsequent design of the ALGOL language. While never widely used, Algol is a progenitor of many subsequent languages, including Pascal, C and Smalltalk. It laid the basis for the concept of structured design and programming, which Dijkstra further developed to great effect.

    It also represented the first application of algorithmic mathematical techniques to programming language design, an initiative that Ted Codd (1923-2003) further carried forward by applying mathematical set theory. Codd’s development of relational database theory is now ubiquitous.

    As a final thought, in a short paper to which NSW CityRail might well pay attention, Dijkstra analysed and solved the following problem:

    Years ago a railway company was erected and one of its directors —probably the commercial bloke— discovered that the initial investments could be reduced significantly if only fifty percent of the cars would be equipped with a toilet, and, therefore, so was decided.

    Shortly after the company had started its operations, however, complaints about the toilets came pouring in. An investigation was carried out and revealed that the obvious thing had happened: despite its youth the company was already suffering from internal communication problems, for the director’s decision on the toilets had not been transmitted to the shunting yard, where all cars were treated as equivalent, and, as a result, sometimes trains were composed with hardly any toilets at all…

    Dijkstra’s collected papers are available here.

  3. Jacques Chester said:

    Mike;

    You might have me on the timing of the “first” HLL - I wasn’t familiar with Rear Adm Grace Hopper’s work past her creating COBOL and coining the term bug.

    However I stand by my claim that FORTRAN is the language with the longest time in actual use. It is used to this day in large systems, though of course FORTRAN95 is a different beast from FORTRAN circa 1960.

    Lispniks are fond of saying that Algol also inherited a few ideas from McCarthy, in particular the concept of the if-then (rather than test-and-GOTO) via the (cond ()) form.

    In any case, Hopper, Dijkstra and Backus were certainly geniuses.

    I’ve read some of EWD papers. Quite good reading. Amazing that he wrote by hand.

  4. MikeM said:

    Sacha,

    In the 1960s and early 1970s, “did mathematics” meant “studied for a degree in mathematics”, whereas “did computer science” meant “did” computer science. There were few university courses in the subject and it tended to attract mavericks who didn’t care for formal study - budding mathematicians, school teachers, students of classical languages and even people who were not much good at anything else. No formal qualifications in the discipline were required.

    Perhaps surprisingly, the birth of the related field of software engineering can be dated with precision. It occurred in Garmisch, Germany, in early October, 1968. The Masterpiece Engineering parable highlights the skepticism at the time.

  5. MikeM said:

    Jacques,

    There are still plenty of banks and other large institutions around the world that are running on COBOL programs, some of which are so old that their authors have long since passed away.

    However COBOL vs FORTRAN is a pretty arid discussion and I wouldn’t want to pursue it.

    The first LISP manual, by John McCarthy et al emanated from the Artifical Intelligence Group at MIT in March, 1960.

    ALGOL 58 (originally known as International Algebraic Language, or IAL) was defined by the end of 1959 and the original Backus BNF definition paper was distributed at a conference in June, 1959. John McCarthy was a member of the US committee that reviewed the language specification in December 1959 as one of a series of reviews that led to development of the ALGOL 60 specification. It is therefore likely that McCarthy’s views were taken into account. However I believe that IF… THEN…

  6. MikeM said:

    [COMMENT CONTINUED] did only appear in the ALGOL 60 version, so it may have been part of McCarthy’s input. ALGOL58 had IF-guarded statements with no ELSE (and hence no dangling ELSE).

  7. Sacha said:

    MikeM - I don’t know! Something tells me that what eventually became uni computer science depts started off in pure maths depts.

Leave a Reply

You must be logged in to post a comment.