Wednesday, March 21, 2007

Backus, the man behind Fortran, passes away at 82.

John Backus (informative biography here), winner of a Turing Award for his many contributions to computer science, passed away yesterday (20 March 2007) at the age of 82.

Backus's career included many notable firsts, including leading the group that developed the computer language Fortran in 1957. Fortran is considered to be the first high-level language. Fortran, or more specifically, its later (much improved) revisions Fortran 77, Fortran 90, and Fortran 95, for example, is still very commonly used in professional physics and astronomy. Although C or C++ is being more and more these days it seems unlikely that Fortran will disappear in the next decade or two.

Like all computer languages it has its strengths and weaknesses. Standard f77 lacks objects, derived types, dynamic memory allocation, pointers and so on, which makes certain tasks more difficult to perform, but also this also simplifies the code (very useful if you're reading some else's code, as using, maintaining or extending legacy code is very common in physics) and immunizes Fortran from a large variety of the nasty, pernicious and hard-to-find bugs that can invest C (for example).

Using the most common extensions to the language (such as not using upper case, using "end do" instead of to horrible labeled "continue" statements, "!" for same-line comments), and some experience, you can certainly write clean, elegant, and efficient (i.e. fast) code. Badly-written Fortran is of course, a nightmare to behold, but no worse than badly written C.

As an undergraduate we were taught Fortran 77, and although I now prefer to code in C++ or even python now, I still retain and use large amounts of Fortran code. For certain tasks it is still easier to write, test and use Fortran than C or C++.

No comments: