Aardvark DailyNew Zealand's longest-running online daily news and commentary publication, now in its 23rd year. The opinion pieces presented here are not purported to be fact but reasonable effort is made to ensure accuracy.
Content copyright © 1995 - 2017 to Bruce Simpson (aka Aardvark), the logo was kindly created for Aardvark Daily by the folks at aardvark.co.uk
Please visit the sponsor!
Gosh, way back when I started programming, languages like Fortran and Cobol were the mainstay of the computer industry.
Yes, BASIC was also quite popular but only amongst hobbyists and students. "Real" business programs were written in Cobol (COmmon Business Oriented Language) and scientific/engineering code was usually cut in Fortran (FORmula TRANslation language).
Of course, by today's standards, both of these languages are absolutely awful, from the perspective of extensibility, compile-time code checking and efficiency so have long-ago been replaced for most new project development.
However, there is apparently still an awful lot of legacy code written in Cobol and Fortran that just keeps chugging along because those who use it are smart enough to realise that if something's not broken, they ought not be fixing it.
At the same time, most of the traditional programmers fluent in these languages have aged-out of the workforce and that means it's becoming increasingly harder to maintain these legacy systems. This means that good Cobol and Fortran programmers can actually earn a healthy wad of dosh for their time these days.
Perhaps realising this, NASA has recently announced that it's offering US$55,000 to whoever can speed up some old CFD routines it relies on but which are written in Fortran.
To hire a decent Fortran programmer with the skills and pay him by the hour would probably cost a hell of a lot more than the $55K on offer so NASA are using their head and opening up the job to any US citizen (over the age of 18) who wants to have a go. The $55K will go to the person who does the best job -- or perhaps divvied up between the small group who each make a significant contribution.
Since the code runs on a supercomputer that obviously has a Fortran compiler available, I suspect they'll be happy if the winner simply optimises the existing code but since they're hoping for a speed-up of up to four orders of magnitude, I can't see that being the route to success.
It's probably going to be much easier to recode the program into a more efficient language -- or at least one that has a more efficient compiler on the platform involved. This may well mean that the winners won't know how well they've done until their submission is actually compiled and run on the Pleiades supercomputer being used -- since you won't find many individuals with this bit of kit kicking around in the spare room.
It's a bit of a shame that the contest isn't open to non-US citizens because I'd love to take a look at the code to see just how it's been written and what (if any) changes have been made over the year.
A few months ago, while tidying up the workshop, I found an old project folder (complete with source code) for a version of the CP/M operating system I customised for the Epson QX-10 back in the early 1980s. Just browsing through the pages of this code and associated documentation was a fantastic trip back in time. To be honest, I was impressed with just what a good job I did back then. The (Z80 assembly) code was clean, the documentation was comprehensive and easy to follow -- geez I was good -- no wonder I sold hundreds of copies of this system! (LOL).
All of this does raise an interesting issue though...
What happens when the last Fortran or Cobol programmer dies?
Who will then maintain all these legacy systems?
The reality is that these languages fell from favour decades ago and at the time, programmers weren't necessarily the "young folk" who we see stuck behind keyboards cutting code these days. Many programmers from the 1960s through late 1970s were in their 30s, 40s or even 50s. Now, 40 years on, these people are pretty old and once they die, there may be nobody left to pass on their skills.
Sure, anyone can learn these old languages (they're pretty simple compared to many of today's more complex and capable ones) but like most things, experience is something that can't be learned -- only accumulated over time. Someone who schools themselves in the text-book version of a language such as these may still be left scratching their head when confronted with one of the many "clever tricks" that were used "back in the day" by those who lived and breathed Cobol or Fortran.
Ah... happy days.
Please visit the sponsor!
Have your say in the Aardvark Forums.