ADVICE: Don’t count COBOL out. Ugh. I used to program in COBOL, and I agree with this statement: “The use of Cobol cripples the mind; its teaching should, therefore, be regarded as a criminal offense.” Fortran was better, and I’m sure that newer languages are better still. Anything would be! And yet, we’re told, “Cobol is the most widely used language in the 21st century, critical to some of the hottest areas of software development today, and may be the next language you’ll be learning.” Not me. I’ve learned it and forgotten it, and the latter process was far more pleasant than the former . . . .

UPDATE: Cobol is worsening California’s budget crisis:

If Gov. Arnold Schwarzenegger wants to issue minimum-wage checks to 200,000 state workers in less than a month, he may want to rehire any semi-retired computer programmers he terminated last week.

The massive pay cut would exhaust the state’s antiquated payroll system, which is built on a Vietnam-era computer language so outdated that many college students don’t even bother to learn it anymore.

Democratic state Controller John Chiang said Monday it would take at least six months to reconfigure the state’s payroll system to issue blanket checks at the federal minimum wage of $6.55 per hour, though Schwarzenegger insists such a change should occur this month. . . . The state payroll system is based on the COBOL, or Common Business Oriented Language, programming language – a code first introduced in 1959 and popularized in the 1960s and 1970s.

“COBOL programmers are hard to come by these days,” said Fred Forrer, the Sacramento-based CEO of MGT of America, a public-sector consulting firm. “It’s certainly not a language that is taught. Oftentimes, you have to rely on retired annuitants to come back and help maintain the system until you’re able to find a replacement.”

I’ll bet if he’d ordered a raise we wouldn’t be hearing this excuse — but either way, it’s more evidence that Cobol is a tool of the Devil! Thanks to reader Lou Minatti for the tip.

ANOTHER UPDATE: Reader Bill Richmond emails: “In my experience, people that criticize COBOL never actually made a living with it.” Well, I certainly never did. Which is a good thing for . . . well, everybody!

MORE: Reader David Block writes:

I guess you just wish that 51 year old COBOL programmers like myself be unemployed. I’m too young to retire, and with kids in college that’s not practical to do anyway. I’d rather keep doing SOME work on what I like and am good at than go off and do something that I’m no good at.

Me, I would much prefer PL/I.

Hey, I don’t want you unemployed. Quite the contrary — better you than me! And reader Jeff Gould emails:

The surprising survival of Cobol has nothing to do with the qualities of the language itself. It is due only to the fact that many large IBM mainframe applications still in use today were written in this language. These big mainframe apps were written 20 or 30 years ago to run on IBM’s proprietary mainframe software (operating systems like MVS, “middleware” like CICS and IMS, etc). In most cases it is not technically feasible to rewrite them to run on another operating system such as Linux. And it would be prohibitively expensive to recreate them from scratch in another language like Java. IBM estimates that 200 billion lines of Cobol are running on the remaining 10,000 mainframes in the world with a cumulative value of $5 trillion ($25 bucks a line)!

So people keep this old Cobol stuff alive because it usually doesn’t make financial sense to replace it with something new. They don’t care a hoot about the language itself. When they can replace it they do. Case in point: the State of California payroll app you mentioned is being replaced by a multi-million dollar package from German software giant SAP. This particular Cobol app has become a political football lately because the California Controller (a partisan Democrat with future gubernatorial ambitions) used it as an excuse for not complying with Schwarzenegger’s emergency order to cut state worker wages to the Federal minimum until the Legislature voted a new budget in (which they have now done).

Since IBM needs to keep mainframe revenues flowing (according to analyst estimates the mainframe still accounts for 40% of IBM profits), they have come up with all sorts of clever ways to get people to move non-Cobol apps onto their mainframes. For example, they practice differential pricing on their mainframe CPUs depending on what language the apps run in. Each System z mainframe has a number of CPUs (a modern microprocessor similar in design but not identical to IBM’s Power chip). If you want to run a Cobol app on a particular CPU, you pay a small fortune. If you want to run just Java, it costs a fraction of the price (but then IBM tweaks the chip’s microcode to prevent it from running Cobol).

Back in the 90s and earlier you could buy “plug compatible mainframes” from competing vendors like Amdahl. But in 2000 IBM launched their new 64 bit architecture (System z) and then in 2001 in the Department of Justice killed the longstanding Consent Decree that obliged IBM to license its software to competitors. So now IBM owns 99.8% of the market and is squeezing it for every cent they can get (I confess I would be tempted to do the same if I were in their shoes). They really need Cobol to survive, because the non-portability of those old apps is what allows them to charge millions for hardware that would only cost tens of thousands if it was running Linux.

He’s got a related post — on do-it-yourself mainframes — on his blog. And reader John Allison writes:

Strangely enough, pretty much all the major employers in this neck o’the woods are still operating on systems running COBOL. It’s paid for, it works, and the employees know how to work with it. It was the primary language taught for the CIS program at my alma mater in ’98-’00, and may still be for all I know. The CS majors all looked down their noses at it, but if you wanted to work anywhere in town outside the CS department at the university you’d best know and love COBOL. I have a strong suspicion that my current employer still relies on COBOL (that’d be the IRS). The analysts and other assorted geeks really want to make it go away and have been trying to do so for some time but the system is so large and convoluted that it just isn’t happening.

You want to be careful what you buy up front, because chances are you’ll be stuck with it a lot longer than you think. . .