This article is more than 1 year old
COBOL: Five little letters that if put on a CV would ensure stable income for many a greybeard coder
EVALUATE COBOL-AGE WHEN 60 CONTINUE
COBOL is celebrating 60 years since its specifications were signed off. Darling of Y2K consultants, the language is rapidly approaching pensionable age, but many a greybeard owes their career to it.
It arose from a desire to create a language that could straddle the computers of the era. Each manufacturer had its own way of working, which, while OK if a company always stuck with one maker, made portability of programs or skills a tad tricky.
If only there was, say, a COmmon Business-Oriented Language? Wouldn't that be splendid?
Mary Hawes, a programmer of Burroughs machines, put forward a proposal in 1959 that users and manufacturers create a common language that could run on different computers and handle tasks such as payroll calculation and record keeping. The US Department of Defense (DoD), which tended to buy computers from different makers, took an interest and sponsored a meeting in May of that year to kick off the creation of the language.
Having found the then two-year-old FORTRAN not quite to its taste, the DoD was keen on an alternative and the target date of September was set for a specification for an interim language, a stopgap that would become COBOL.
Famously, COBOL drew heavily on FLOW-MATIC, originated by a group headed by Grace Hopper. IBM's COMmercial TRANslator (COMTRAN) also played a part, but Hopper's (and others) determination that the programs should look like ordinary English, rather than the jargon spewed by engineers of the era, led to the quirky syntax loved and loathed over the years.
We called it "absurdly verbose" back in 2014, while cheering the anniversary of IBM's System 360.
The specifications were fiddled with until, at the beginning of 1960, they were finally signed off and manufacturers could get cracking with compilers. By the end of 1960, teams had the same COBOL procedures running on an RCA 501 computer and a UNIVAC II. The portability concept having been demonstrated, the language rapidly spread.
But goodness, it was slow compared to manufacturer-specific code. One hundred lines could take ten minutes to compile and the entry method, via Unityper and magnetic reel for UNIVAC, was tiresome.
That was just version 1. The original COBOL-60 was swiftly replaced by 1961's COBOL-61, aimed at addressing the language's shortcomings, but replete with helpful incompatibilities between versions. 1963's COBOL-61 Extended Specifications, including Sort and Report Writer functionality, sought to finally clean up longstanding flaws and a final hurrah in 1965, COBOL-65, added mass storage and tables. Performance ticked up quite a bit as well.
Well, final hurrah-ish. Despite widespread adoption, incompatibilities between versions remained, which defeated the object a little. An ANSI edition appeared in 1968 in the form of COBOL-68, setting the stage for the language to go properly mainstream.
How the work flowed in. As the 1970s started, COBOL was regarded as the most commonly used language globally, despite the likes of the similarly English-like BASIC arriving in the mid-1960s.
The various groups continued to chip away at COBOL's deficiencies in the 1970s, with better debugging and improved string handling, but the 1980s kicked off badly. COBOL exited its teens and stumbled into a lawyer-infested minefield as worried users looked at the millions of lines of legacy code that might need to be reworked if standards changed in an incompatible way.
A shadow of things to come perhaps.
It took until 1985 before COBOL-85 became generally available, featuring ground-breakers such as terminators like END-IF and nested subprograms.
The rest of the computing world was, however, changing rapidly and as the 1980s became the 1990s, COBOL's relevance for new projects began to wane. However, its earlier ubiquity ensured that those with five little letters on their CV would not be short of work. Billions of lines of code running the majority of the world's businesses saw to that.
At the turn of the century, panicked organisations found themselves calling in COBOL coders, often those responsible for the decades-old systems in the first place, to deal with the impact of those crucial extra digits.
That some today reckon the event was a bit of a damp squib, manufactured by highly paid contractors to add a Ferrari or two to the garage, is testament to the monumental efforts by those involved at the time. You're welcome.
While COBOL seldom troubles the rankings of languages that developers want to use, new versions have continued to be churned out. On the 60th anniversary of that first specification, TIOBE puts the language in 31st place, just ahead of contemporary rival Fortran.
Longtime maintainer Micro Focus has cannily been promoting the language as a standard that can integrate with other, more contemporary efforts such as Java, C++ and C#. The company's Visual COBOL 4 will also cheerfully deploy the code to a variety of modern platforms, including Docker and the cloud.
It's a bit like finding an elderly grandparent nodding a head to Billie Eilish rather than cosying up with the Archers and awaiting the sweet release of oblivion.
While many IT managers would dearly like to migrate away to something a little more modern, the process is at once lengthy, risky and costly. Easier to leave those legacy systems that run the majority of the globe's businesses intact until the mainframe switch-off can be put off no longer. Mike Madden, in a blog for Legacy IT Consultants, reckoned that in 2019 95 per cent of ATM transactions relied on COBOL, and the two million coders working in COBOL were adding 1.5 million lines every day.
Madden added that the statistics were tricky to challenge. The truth is that no one knows exactly how much COBOL is out there, but its decades as the de facto language for business and government means there remains plenty underpinning even the most shiny and modern-looking systems.
And the time will come, very soon, when we'll find out just how many coders went for the
IF YEAR > 50 MOVE 19 TO CENTURY solution back in the day.
Happy 60th, COBOL. ®