Interesting discussion going on at comp.lang.fortran. I love this response and reflects my views.
If it aren’t bust, DON’T fix it!
I couldn’t say the above better myself and agree with every word of it. But, as much as we think like that, unfortunately the cs guys don’t (and they’re the majority in the programming business).. Just the other day someone said, and I quote: "Older people lean towards "if it works, don’t touch it" which causes the whole system to rot." (the last part about rotting)
(Agreed, this is a segment of it; but I give you my word, it is not taken out of context.). To a person wishing to solve a problem a language is just a tool – once it has everything for that person to be able to solve problems with it, he will be satisfied.
On the contrary, a programmer makes his career by making programs, not by solving problems with those programs. Sounds a bit rude, I know, but that’s how it is really. It is a nightmare for a software company when all its users are satisfied with their software so much, that they don’t want to upgrade or buy a new version (think XP vs. Vista vs. 7, as a recent example).
And in this situation we have one of the reasons for the "fortran crisis". If not influenced by someone from the first group, someone who is interested in programming, will turn to the opinions of the second, where he will not get so many enthusiastic ones about fortran.
"It lacks string handling, you can’t make a gui with it, it … (insert your own)". Now, we both know, most of these are not true – but he doesn’t know that, AND even if given a contra examples, he will
be listening to the voice of one instead of many which advocate python (which is the current "magic" solution), matlab (which is all the rage these days) and so on.
To put long story short … Fortran is my kinda tool. It is simple (one can but doesn’t have to if he doesn’t want to use more advanced features), it is easy to learn (my first handscript on it had no more, I don’t know - than 30 pages, printed on one side), and it is fast and does well what it was designed to do. It also has in its design a goal of portability and backward compatibility, which I hope I don’t even have to mention, is a lifesaver for people who don’t live of writing programs for the sake of writing them.
Please, don’t ever give up on those.
On my Master thesis I used programs which were written 28 years ago, by my mentor and they compiled without an error. BUT. It is a somewhat niche language today. It is lacking features to connect (yeah, yeah … I know of the "C connection" 🙂 easily to other tools (with python maybe, with matlab with some effort, with excel … possible but outside of skill of the majority), it is lacking some features which other languages today take for granted (easier string handling), lacking GUI’s (native for OS’s, not some half way solutions like Wint and GINO <- I’ve never tried either, and judging from the screenshots they are nice, but they DO lack behind the "latest and the greatest"), lacking IDE’s (not halfway solutions, but full ones in terms of GUI builders, auto completion, and whatever else those things have nowadays).
In other words, it lacks the fizz, the spark, the … hell, it even lacks a decent webpage (?!). Yes, compare MATLAB’s and python’s and the one for Intel Fortran (which is one of the nicest in that