Transterrestrial Musings  


Amazon Honor System Click Here to Pay

Space
Alan Boyle (MSNBC)
Space Politics (Jeff Foust)
Space Transport News (Clark Lindsey)
NASA Watch
NASA Space Flight
Hobby Space
A Voyage To Arcturus (Jay Manifold)
Dispatches From The Final Frontier (Michael Belfiore)
Personal Spaceflight (Jeff Foust)
Mars Blog
The Flame Trench (Florida Today)
Space Cynic
Rocket Forge (Michael Mealing)
COTS Watch (Michael Mealing)
Curmudgeon's Corner (Mark Whittington)
Selenian Boondocks
Tales of the Heliosphere
Out Of The Cradle
Space For Commerce (Brian Dunbar)
True Anomaly
Kevin Parkin
The Speculist (Phil Bowermaster)
Spacecraft (Chris Hall)
Space Pragmatism (Dan Schrimpsher)
Eternal Golden Braid (Fred Kiesche)
Carried Away (Dan Schmelzer)
Laughing Wolf (C. Blake Powers)
Chair Force Engineer (Air Force Procurement)
Spacearium
Saturn Follies
JesusPhreaks (Scott Bell)
Journoblogs
The Ombudsgod
Cut On The Bias (Susanna Cornett)
Joanne Jacobs


Site designed by


Powered by
Movable Type
Biting Commentary about Infinity, and Beyond!

« I Didn't Think It Was Possible | Main | More Good News On The Gun Front »

Go To: Heaven

John Backus, the inventor of FORTRAN, has written his last line of code.

FORTRAN wasn't my first language. When I started engineering school in Ann Arbor, they told me I had to learn a programming language, but they didn't say which one, so I took a CS course in which we were inducted into the programming world with ALGOL. I used it to write a simulation of heat transfer, with no problems, though the engineering professor didn't know the language. But I had to take a graduate course in numeric analysis, in which one had to write in FORTRAN, to be able to interact with the instructor's subroutines, so I went to a few free lectures on it that he held at night for the general student population (and in fact public). After learning how to program in a structured language, I was appalled at DO loops and gotos, and their potential for spaghetti. I've used it quite a bit since, but still try to use as much structure as whatever version allows. Still, as the article notes, it was a huge breakthrough in making computers practical.

And here, courtesy of wikipedia, are a few FORTRAN jokes:

* "GOD is REAL unless declared INTEGER."

* Joke, circa 1980 (following the standardization of FORTRAN 77): "Q: What will the scientific programming language of the year 2000 look like? ... A: Nobody knows, but its name will be FORTRAN."

* A good FORTRAN programmer can write FORTRAN code in any language.

* Computer Science without FORTRAN and COBOL is like birthday cake without ketchup and mustard.


Posted by Rand Simberg at March 20, 2007 08:47 AM
TrackBack URL for this entry:
http://www.transterrestrial.com/mt-diagnostics.cgi/7190

Listed below are links to weblogs that reference this post from Transterrestrial Musings.
Comments

Ahh...the salad days of keypunch machines and boxes of cards. Heady stuff back then.

Posted by Bill Maron at March 20, 2007 08:54 AM

Fortran is quite simply one of the best programming languages ever written.

Its simple, robust and fast. It may not have the bells and whistles of the object oriented languages but it is still one of the best tools for hardcore scientific programming.

Posted by Matt at March 20, 2007 09:18 AM

My first real programming language course was FORTRAN 4. Used to still have some of the batch cards around just for the grins of it.

Posted by Laughing Wolf at March 20, 2007 09:19 AM

Fortran still beats most other languages today because of it's ease of use. I had to learn it in 2 days to finish a homework problem in classical mechanics, and was able to do so no problem. As computers got much much faster, it isn't necessary to have a particularly fast executing programming language, but it is necessary to have one that can be coded quickly and fortran fits the bill.

I might add that many companies have mandated the elimination fortran by things like Mathcad or Mat lab. Personally, I still like having control of the nuts and bolts of a numerical computation and prefer the what you see is what you get world of fortran, the cockroach of programming languages.

Posted by K at March 20, 2007 03:12 PM

I absolutely detest Fortran. But most of that is significant exposure to spaghetti code written either before before Fortran implemented many of the features that allow readable code or by people who refused to learn and use these features. I've spent many long hours pulling my hair out over such codes.

There is almost no reason to ever use a goto (breaking out of deeply nested loops being the only exception I can think of).

Posted by KeithK at March 20, 2007 04:00 PM

FORTRAN shouldn't be fetishized as somehow perfect for numerical computation. It isn't -- even some LISP compilers were generating similarly optimized code as early as the late 70s. Nor should it be derided as inherently prone to spaghetti code. As they say, you can write FORTRAN in any language, and while the GOTO might lend itself to spaghetti, you can make FORTRAN control structures look as almost as block structured as you can in the Algol-like languages. I know. Because I had to do that, on several projects.

Somehow, so far, most eulogies neglect two important things about Backus:

(1) FORTRAN was a team effort -- he led, but probably didn't really dictate. Many aspects that might seem like warts now were, for their time, sleek streamlining. Doing the first real compiler -- moreover, an optimizing compiler -- on a limited machine like the IBM 704 (32K max, more usually 4k, of 36-bit words) probably dictated what FORTRAN ended up looking like more than Backus did. It took a very creative and intelligent group of people to pull it off, and if you haven't spent many hours doing memory-size optimizations on assembly code (somewhat a lost art these days), you don't have much right to comment on how hard something like this can be, or what sorts of choices it can force on you.

(2) The ALGOLs (58 and 60) were also a team effort, efforts Backus didn't lead, but on which he contributed very usefully. And this was hardly the end of his work in programming languages. What he did on FP (functional programming) was ahead of its time, and probably still is. I still remember the buzz generated by his seminal 1978 CACM paper on the subject, in the C.S. department at U.C. Berkeley.

And then there's Backus-Naur Format (BNF) for machine-readable grammars, instrumental in defining the ALGOLs -- and which I was using just yesterday.

FORTRAN, for better or worse, lives on. Probably for better -- there's still an awful lot of it out there, and bringing existing code up to the standards of the latest FORTRAN language definitions (FORTRAN 2008 being the next) would probably make a very mature, robust and useful body of code even more so.

Obligatory space trivia: Backus conceived of FORTRAN while writing missile trajectory codes in assembler.

Posted by Michael Turner at March 21, 2007 04:30 AM


Post a comment
Name:


Email Address:


URL:


Comments: