1.19.2012

Put away the forklift, I've got FORTRAN on my mind

The smell of fresh ink. The source-code listings. The structure. The structure! I am thoroughly enjoying my review copy of “Modern Fortran: Style and Usage,” by Norman S. Clerman and Walter Spector.

FORTRAN (or as it’s now called, Fortran) was one of the first programming languages I learned and later taught. In my mainframe environment, it was COBOL, FORTRAN and PL/1, plus a little LISP. Throw in some job control language and the occasional assembler, simply to break up the monotony. What a wonderful world.

Cryptic languages like C belonged to a parallel dimension inhabited by the VAX down the hall. Foreign. Alien. Bizarre. C was for programming telephone switches. It simply wasn’t part of my department’s business-oriented computing culture.

Did you learn FORTRAN in school? Use it for numerical or scientific work? Certainly the language was a delight to program, whether you coded in the immortal FORTRAN IV (my favorite) or that new-fangled FORTRAN 77.

FORTRAN 77 was the most recent dialect from my life as a professional programmer. The object-oriented Fortran 90 (where everyone moved to writing the language as Fortran) was never part of my life, except as a spectator. But I’m fascinated by how the language has grown and evolved. The addition of generics to Fortran 2003, and now parallel processing with Fortran 2008, truly brings this ancient procedural language into the modern era.

Think about how programming languages come and go. In the big-box era, we focused on structured, procedural and imperative languages, like FORTRAN, COBOL, RPG and the rest. While BASIC was designed as a structured teaching language for timesharing systems, it caught fire with the microcomputing era. C evolved for the world of Unix and for close-to-the-hardware control systems like those phone switches. FORTH, LISP, SMALLTALK and APL were specialized tools for specialized projects.

The pendulum swing to objects. Inspired by Smalltalk, everything was about C++, Objective C and Java. And then it became about scripting languages like JavaScript, Perl, PHP, Python and Ruby. And then domain-specific languages. But in reality… we’re using a little bit of everything.

That’s the way it should be. We should update the best of the old, while also creating new tools with the latest concepts. Put away the forklift, I’m busy reading “Modern Fortran.”

2 comments:

lobrien said...

If it's not FORTRAN in all caps, it's not the same.

AFAIK, we don't have a single FORTRAN program in the data-processing pipeline here! It's shocking.

Alan Zeichick said...

Scandalous!

About Me

My Photo
Co-founder and editorial director of BZ Media, which publishes SD Times, the leading magazine for the software development industry. Founder of SPTechCon: The SharePoint Technology Conference, AnDevCon: The Android Developer Conference, and Big Data TechCon. Also president and principal analyst of Camden Associates, an IT consulting and analyst firm.