January 21st, 2007
Throughout the 1990s, pundits would pop up every year or two and proclaim that the venerable COBOL and FORTRAN languages were “dead,” and that programmers listing those languages on their resumes would soon find themselves on the unemployment lines (consider, for example, Edsger Dijkstra’s pithy remark, “COBOL is for morons.”) I’ve been guilty of making snide remarks about COBOL in public myself from time to time (though “ancient geek” Susan Scrupski forgives me for having written a book on Structured COBOL), for which I have been severely chastised by those who feel it was one of the supreme developments of the computer field. As for FORTRAN, I haven’t bothered saying anything negative in recent memory, perhaps because of some nostalgic feelings about the FORTRAN math libraries (sines, cosines, logarithms, etc.) that I coded for the PDP-5 and PDP-6 computers at DEC many, many years ago.
But, seriously: who would even take the time and energy to insult COBOL or FOTRAN these days, when it’s much more fun to poke fun at C, C++, and Java? The current debate seems to be focusing on whether languages like Ruby on Rails will dominate the field, and whether D (yes, “D”: see the Slashdot article here, and the Digital Mars article here) will eventually replace C.
But it turns out that COBOL and FORTRAN aren’t really dead after all; and the odds are pretty high that it will outlast my brief tenure on this planet, and perhaps yours, too. A January 1st article in SD Times (”Reports of COBOL’s Imminent Demise Premature“) tells us that mainframe vendor IBM, and PC software vendor Micro Focus (which has a highly respected COBOL compiler product) have been working with university partners around the world to keep the language alive. But a professor of business information systems at Central Michigan University, Yet Huang, acknowledges his university is “among a dwindling number of campuses to devote time and resources to COBOL,” and that “Many schools have adopted the perception that COBOL is dying an replaced their COBOL courses with other ‘hot’ programming courses in languages like Java and C#.”
Some people thought that COBOL would really get thrown out the window at the end of the 1990s, when large companies discovered that (a) their legacy mainframe COBOL programs were not Y2K-compliant, (b) the programmers who had written those legacy programs were dead, senile, retired, fired, promoted, or otherwise unavailable, and (c) it would be a good time to scrap all of the home-grown legacy programs and replace them with packaged software, especially ERP packages from vendors like SAP and Oracle. And indeed, that did happen, to some extent; but in far more instances, companies decided that it was cheaper and easier — with a combination of automated tools and cheap offshore programmers in India — to renovate their COBOL programs, and make them Y2K-compliant. Having invested significant sums of money to do so, they were obviously uninterested in throwing those COBOL programs out the window as mankind tip-toed across the Y2K rollover weekend and moved bravely into 2000.
But that was 7 long years ago; not only have some of those resurrected COBOL programs gotten that much older, but a lot more mainframe programmers have died, succumbed to Ahlzeimers, gotten fired, gotten promoted, or quit their jobs to do something meaningful with their lives. As the SD Times article observes, there are “fears of an onrushing legacy skills gap as mainframe pros start eyeing retirement en masse while billions of lines of COBOL remain installed in business-critical applications around the world.”
And indeed, old COBOL-savvy programmers are retiring, as new Java-savvy programmers enter the field. But apparently it’s going to be a long-term process: the SD Times article quotes a Forrester analyst, Phil Murphy, as saying “There will be no intense period during which a large percentage of programmers retire. Rather, some programmers will start much sooner and others will start later, making it less noticeable because it will be spred out over a much longer time frame: 2005 to 2035, as opposed to 2020 to 2030.”
Okay, that makes sense: COBOL programmers won’t vanish from the earth in one fell swoop, on April Fool’s Day in 2009. But it’s a little like the Peak Oil theory: we’ve passed the peak of COBOL dominance (when? 1975? 1985? 1995? who cares?), and it’s on a downhill curve that may last another 10, 20, or 30 years before it disappears entirely. For those of us who only expect to work in the computer field for another 10, 20, or 30 years, perhaps this doesn’t matter: if you’re a competent COBOL programmer in his or her mid-40s at this point, perhaps you’ll make it all the way to retirement before the last COBOL job disappears. But those last 10 years won’t be much fun, and it would probably be much more fun if you invested a little time and effort getting up to speed on any of the currently popular programming languages. On the other hand, that would mean that you’d be competing against 21 year old kids from Bangladesh who can work longer, harder, and much cheaper. So maybe it makes sense to have a dull job, writing or maintaining legacy programs created by people who are now dead, because nobody else wants to touch the stuff.
Oh, yeah: what about FORTRAN? Basically, everything I’ve said about COBOL goes for FORTRAN, too — except that one of the vendors trying to help ease the transition from FORTRAN to the modern world turns out to be Sun Microsystems. A recent article in Cnet (”Sun’s Fortran replacement goes open-source“) tells us that someone has developed a language called “Fortress,” which is designed to be a modern replacement for Fortran, and which grew out of a DoD-funded supercomputing project. Who knew? Who cares? Well, I suppose you’d care if you had a portfolio of 50 gazillion lines of legacy FORTRAN for high-performance computing tasks like weather forecasting or simulation of nuclear weapons.
FORTRAN appeared in the mid-1950s, which means that even the youngest programmers at that time are now likely to be in their 70s. I visited one research lab a few years ago, where senior management was very concerned that its aging FORTRAN programmers — who had been involved in some of the country’s most critical research programs — were reaching retirement age, and adamantly refusing to stay a day beyond their 65th birthday. Like the COBOL situation, it’s not happening in one swell foop; as Eric Allen, a Sun Labs computer scientist and Fortress project leader, said, “It’s hard to imagine a world in which Fortran programs are no longer run at all.” But it is happening, little by little; and it’s going to be important to find a way to shift those legacy applications to a new environment.

January 22nd, 2007 at 2:31 am
Ed -
Last I checked with Capers Jones, his language list was some 500 strong & growing steadily.
I\\\’ve never heard of a study on how long it actually takes to retire a software language, but if simple physical things like Edsels last for decades, I\\\’d guess it\\\’s going to be way more difficult to pull the plug on \\
January 22nd, 2007 at 2:45 am
David,
Trust me: you and I will be dead before COBOL or FORTRAN disappear!
February 7th, 2007 at 8:16 am
I’ve been working with Cobol for more than 30 years, at the first beginning it was 1976, my boss told me – now that you learned Cobol you must to forget this language, you must learn RPG II, because Cobol is Dead – since then til today I’ve been using Cobol to work for several (at least 9) companies and in the last 8 months, I’ve been working from Brazil, to support an health care company in USA – California. Based up on my experience, Cobol will be alive for a long time and everyone who wants to get a job earning a good money, will need to learn Cobol - I\’ll be retired so long.
February 7th, 2007 at 5:26 pm
Absolutely. Modernizing COBOL applications with business rules so that the high-change component is externalized to reduce application maintenance and leaves the rest of the code working is big business.