In July, citing a budget shortfall, the Governor of California ordered the salaries of 170,000 State employees to be cut to the Federal minimum wage.
Not so fast, said the State Controller. Because California's payroll systems are written in antiquated Cobol code, it would take six months to implement the change and nine months to restore salaries later. That's if we had the Cobol programmers to do the job, which we don't, because you fired them last week, Governor. And we can't hire them back because nobody's going to take a pay cut from Social Security to program Cobol for minimum wage.
Government is our favorite spectator sport.
It may seem surprising that it takes any programming at all to implement a salary change in a payroll system, but a commenter on Slashdot said it was at least plausible, and that's good enough for us. What is not surprising is that Cobol would get blamed. Cobol is the most reviled programming language ever created.
On Dr. Dobb's CodeTalk blog this summer, Walter Bright said, "Programming languages are developed by programmers for programmers. This is as it should be. The last language developed for management was Cobol...I've never heard a nice word said about it."
There have been plenty of the other "kind" words spoken about this nearly 50-year-old language, though. The Turing Award-winning computer scientist Edsger Dijkstra famously said, "The use of Cobol cripples the mind; its teaching should, therefore, be regarded as a criminal offense." Perl creator Larry Wall made his loathing more specific: "I knew I'd hate Cobol the moment I saw they'd used perform instead of do." Pulling no punches, the Jargon File informs us that Cobol is "a weak, verbose, and flabby language used by card wallopers to do boring mindless things on dinosaur mainframes," adding that Cobol is "synonymous with evil."
And it's no fun, either. "As a programming tool," Charles Petzold once said, "it has roughly the sex appeal of a wrench." Small wonder Cobol has few ardent enthusiasts. Pretty uncomfortable to be a Cobol programmer today, then, especially since "Cobol programmers are destined to code Cobol for the rest of their lives," as Bertrand Meyer has said, "and thereafter."
So if all that is true, isn't it strange that Cobol: 1) is the most widely used language in the 21st century; 2) is critical to some of the hottest areas of software development today; and 3) may be the next language you'll be learning?