Developer's Toolkit

Blog archive

The Passing of Another Great

Because computer science is such a young field, it is easy to forget that it has a history. And a fundamental individual close to the beginning of that history passed away last week. John Backus, whose development of the Fortran programming language in the 1950s changed how people interacted with computers and paved the way for modern software, died Saturday in Ashland, Oregon. Fortran was the first high-level computer language; prior to its development, you wrote code in machine language or assembly. The development of Fortran earned Backus the 1977 Turing Award from the Association for Computing Machinery, one of the industry's highest accolades. The citation praised Backus' "profound, influential, and lasting contributions."

Backus also won a National Medal of Science in 1975 and got the 1993 Charles Stark Draper Prize, the top honor from the National Academy of Engineering. Among his other important contributions was a method for describing the particular grammar of computer languages. The system is known as Backus-Naur Form, or BNF, for those of us with training in formal languages.

As a sophomore at a liberal arts college in the late 1970s, my choices in learning computers were very limited – Basic and Fortran. Basic was interactive, while Fortran was batch, done on punch cards. It was not readily apparent to me at the time that programming languages had different design tradeoffs; it was only later, working with pointer-oriented languages, that I learned that languages had deliberate and specific strengths and weaknesses that made them more appropriate in given domains.

Fortran, of course, was best known as a number-crunching language. Its early binding and fixed-sized and rigid data structures meant that the compiler could build the resulting executable to take advantage of the processor it ran on, making its programs extremely fast. It was essential for scientific and engineering applications.

C, a pointer-oriented language, could never be as fast, but work on C compilers eventually made it good enough for all but the most demanding number-crunching applications. Microsoft at one point in time sold Microsoft Fortran, but it disappeared as Visual Studio became ascendant.

Even if Fortran is no longer a common language for mainstream computing, to me it epitomized the concept of TANSTAFFL, used in Heinlein's classic The Moon is a Harsh Mistress. There Ain't No Such Thing As a Free Lunch defines the tradeoffs anyone working in computing makes on a daily basis.

Posted by Peter Varhol on 03/20/2007


comments powered by Disqus

Featured

  • Uno Platform Wants Microsoft to Improve .NET WebAssembly in Two Ways

    Uno Platform, a third-party dev tooling specialist that caters to .NET developers, published a report on the state of WebAssembly, addressing some shortcomings in the .NET implementation it would like to see Microsoft address.

  • Random Neighborhoods Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the random neighborhoods regression technique, where the goal is to predict a single numeric value. Compared to other ML regression techniques, advantages are that it can handle both large and small datasets, and the results are highly interpretable.

  • As Some Orgs Restrict DeepSeek AI Usage, Microsoft Offers Models and Dev Guidance

    While some organizations are restricting employee usage of the new open source DeepSeek AI from a Chinese company due to data collection concerns, Microsoft has taken a different approach.

  • Useful New-ish Features in .NET/C#

    We often hear about the big new features in .NET or C#, but what about all of those lesser known, but useful new features? How exactly do you use constructs like collection indices and ranges, date features, and pattern matching?

  • TypeScript 5.8 Beta Speeds Program Loads, Updates

    "TypeScript 5.8 introduces a number of optimizations that can both improve the time to build up a program, and also to update a program based on a file change in either --watch mode or editor scenarios."

Subscribe on YouTube