Not Dead Yet!

At least once a week, I see someone refer to Fortran as a "dead" language. A recent interview I did included asking me if I worried about my job since "many people say there is no future in Fortran".

So it was with some amusement that I ran across an article on the Computerworld web site titled The top 10 dead (or dying) computer skills. Fortran was not on the list, though COBOL and C were. (I'll choose to ignore the possibility that the author wasn't even aware of Fortran...)

This sort of list always brings out emotions in people, and this one was no exception, looking at the comments. The inclusion of C on the list upset many, but the article's point was that if you know only C and not C++, you'll fall behind in the job market, and I think that is true.

My take on this is that one is served best by not focusing too narrowly on one particular technology, no matter what it is. In the case of programming languages, more is always better. You may not be actively using more than a couple of languages at a time, but being familiar with diverse languages can help expand your thinking and lead to better code. I think I've learned some two-dozen programming languages over my career. I could not write a valid program in many of them today, but I could probably read most (APL perhaps excepted).

The old adage, "When the only tool you have is a hammer, everything looks like a nail" applies to programming. There is not one single programming language that is best for all applications. Take the time to learn a few different languages, including scripting and object-oriented languages, and pick the one that is best suited to your application (keeping in mind issues such as who's going to maintain it, company policies and the like - just because you know Python that doesn't necessarily make it appropriate for your company's payroll application.)
For more complete information about compiler optimizations, see our Optimization Notice.

7 comments

Top
anonymous's picture

nickels "I loathe the language, the culture, and the people involved"

and yet you visit fortran blogs.... ;)

anonymous's picture

Fortran is a pathetic language. Is has no advantage over C and C++ in terms of runtime efficiency (a provable fact, just run the tests yourself) and yet it has no high level abstraction mechanisms. In my career I have been forced to work with some of the most horrific spaghetti codes that were a result of Fortran's lack of flexibility and abstraction.
I hate being around fortran programmers. The complete lack of abstraction is an abhorrence. I have to laught at them, and I can't take them seriously.
I loathe the language, the culture, and the people involved.

anonymous's picture

Fortran will live forever in science for at least two reasons

1. there is delicate stuff written in F77 and it's not going to go away.

2. when it comes to numerics, f95 beats C hands down in terms of how it looks. It just does everything "you expect" (and I say this as someone who learned f95 only a year or two ago, from two days with Metcalf.) Actually "formula translation" is pretty accurate: my fortran code looks a lot like my calculations.

Steve Lionel (Intel)'s picture

The blog is still active, but posting is sporadic. I'll try to be more frequent about it.

There's a variety of good books that cover Fortran language tutorials on such things as interfaces and modules. I've just been looking at Stephen Chapman's "Fortran 95/2003 for Scientists and Engineers", an update of his excellent earlier work. "Fortran 95/2003 Explained" by Metcalf, Reid and Cohen is also popular.

anonymous's picture

I am not sure if the blog is still running and I am just not looking at the right place. But it would be great if you are continuing with it. I am new to a department that has all its programs in Fortran - a language which I have not learnt and am going thru the process (your posts dated 1998 and 2001 helped).

Fortran is not dying any time soon. Could I get a Fortran hat and t-shirt ;)

PS: Need to know how do interfaces and modules work! Any good reference is mind> (most people give very limited examples!)

Clay B.'s picture

Fortran is going to be the dinosaur that will last longer than the more "hot-blooded" languages. COBOL would seem to also fit in this category. All that legacy code needs programmers to maintain it and keep the systems running.

There has to be some point when COBOL programmers become scarce enough that the industry will need to dump or re-code these apps. If choosing the latter path, what language will be used and how long will that language take before it goes out of fashion? Learning a different language is not just a good mental exercise, it's a way to adapt and keep your job longer.

Bancroft, Joshua A (Intel)'s picture

Want further proof that FORTRAN isn't dead? Go look at the Intel Software Network forums, and see which one is the most active, BY FAR:

http://softwarecommunity.intel.com/isn/Community/en-us/Forums/

:-)

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.