02 November 2010

The Restless Inventor

"We didn't know what we wanted and how to do it. It just sort of grew. The first struggle was over what the language would look like. Then how to parse expressions - it was a big problem and what we did looks astonishingly clumsy now..." 
- John Backus on the Invention of Fortran
John Backus, born December 3, 1924 in Philadelphia, PA, was an inventor "motivated less by necessity than by sheer irritation at imprecision or inefficiency" (5). A brilliant man with many interests and a lack of direction in life, he was the inventor of Fortran, the first high-level computer language in history. His other major career accomplishments include the development of Speedcoding, then Algol, and then, the Backus-Naur form, which is an outline of rules for context-free grammars that are often used to describe the syntax of computer languages. Shasha and Lazere state that "Backus had invented one of the world's first and most popular programming languages and had developed a notation that would permit the definition of over a thousand more. Many people, even many great scientists, might have coasted after such achievements. Not Backus. He wasn't sure he liked what he had done" (17). It may seem counter-intuitive at first, but the book made it clear that only a person with an extraordinary understanding of both computers and those who will be working on them and with a truly extraordinary drive would keep going. From this attitude came the development of function-level programming (FP), which allows programmers to use computer language to describe more of what they wanted to get done without getting involved in how it was going to be done by the hardware. Still, FP had its quirks. Upon his retirement, Backus withdrew from the field, and I agree with the book: "if he had not solved the problem [of creating the perfect computer programming language], he has posed it beautifully," and now, other programmers have an opportunity to solve this problem and take the world of computer science to a new level (20).

No comments:

Post a Comment