Celebrating its half century this year, COBOL is an enduring computer language. But what is the secret to its ever-lasting appeal? And is it possible to go a day without interacting with COBOL? Steve Evans reports.
There can be few people with more glittering careers than Grace Murray Hopper, known as Grandma COBOL. Born in December 1906, she graduated from Vassar College with a bachelor’s degree in mathematics and physics in 1928 and followed that up with a PhD from Yale in 1934.
In 1943 as the Second World War raged, Hopper followed her family’s long military tradition by signing up for the US Naval Reserve, graduating first in her class the following year. She was assigned to the Bureau of Ordnance Computation Project at Harvard University. While there she worked on the Mark I electromechanical computing machine and was working on Mark II when the War ended.
She continued working at Harvard as a research fellow until 1949 when she joined the Eckert-Mauchly Computer Corporation (EMCC), formed by J. Presper Eckert and John Mauchly, the two men behind Electronic Numerical Integrator And Computer (ENIAC), one of the first general-purpose computers. Here she worked on the development of UNIVAC 1, the world’s first commercially-available computer.
Her instincts for computer programming came to the fore while working for EMCC. She developed A-0 System in 1951, said to be the first ever compiler developed for an electronic computer. A compiler is a program that can translate source code written in a certain computer language into another language. This was followed up by variations of the A-0 System, called ARITH-MATIC, MATH-MATIC and FLOW-MATIC. Of these, it is perhaps FLOW-MATIC that is the most important and influential to the development of COBOL. It is regarded as the first data processing language to be written in ‘plain’ English rather than ‘machine’ language, an approach adopted by COBOL.
The Conference on Data Systems Languages, also known by the acronym CODASYL, was a group formed in early 1959 by the US Department of Defense. The group’s aim was to develop a unified computer programming language, one that could be used across many machines. Hopper’s philosophy of creating programming languages in ‘plain’ English was one the group took to heart as they used FLOW-MATIC as a starting point.
At a meeting at the Pentagon in May 1959, the Short Range Committee was formed and over the next few months it slowly gave birth to COBOL. Grace Hopper delivered the first specification of COBOL later that year and on September 18, 1959, the COmmon Business Oriented Language (COBOL) was officially named.
The first compilers for COBOL were released during the following year and in December that year another milestone was reached when two different computers ran the same COBOL program – proving that compatibility was possible. This opened the doors to wide-spread COBOL adoption.
Hopper retired from the Navy in 1966 but returned to action a year later and served until 1971. Her second retirement also lasted just a year, and she returned to the Navy in 1972 before retiring for a final time in 1986. She died in 1992 aged 85 (see http://bit.ly/HhJ2n for more on Grace Hopper).
Not just for geeks
Having a language specifically aimed at meeting the needs of enterprises was key to the early adoption of COBOL, and what separated it from other programming languages around at the time.
“The language was designed to be oriented towards business problems, and to be machine independent, and capable of continuous change and development,” says Alan Rodger, senior research analyst at Butler Group. “Expressing this in more widely-used terms, COBOL is a less ‘geeky’ language than most.”
This idea is echoed by Jan Stuart, a recently-retired COBOL programmer. “When I started learning COBOL in 1978, I was told it was a dying language, that it was out of fashion and that I was better off learning something else,” she says of the language still going strong 50 years after its creation.
“It did exactly what it said on the tin. It was simple, effective and efficient; it wasn’t a scientific language, it was in English, which is what people were using. Other languages written by programmers were useful for geeks but not anyone else. You could tell just what was going on by looking at the code, which you couldn’t always do with other languages,” Stuart added.
The key to its early adoption is also key to its enduring popularity, says Charles Chu, IBM director of enterprise modernisation. “It’s goofy to write a new application when you can use what’s already there,” he says. “Why rip out something that is working well?”
One of the major implementers of COBOL is UK legacy modernisation vendor Micro Focus. CEO Stephen Kelly agrees that rewriting a company’s IT applications is pointless if the value to the business is already present in the legacy systems. “Successful leaders know that the business value in every company’s IT applications has to be preserved and modernised, rather than replaced or rewritten,” he says. “Business critical systems and applications lie at the nerve centre of operational success. These applications have been built in COBOL over decades and harness deep business intelligence that represents the core IT assets of every successful company.”
IBM estimates that there are now over 200 billion lines of COBOL code in existence, with another 5 billion being added annually. Big Blue adds that 75% of all financial transactions and 90% of business transactions overall are processed by COBOL code. “The language itself was written for very specific purposes,” Chu continues. “It’s ultra fast in managing transactions and batch processing, and that is what it’s still used for today. It’s fast, light and serves a computing need.”
Computing needs have of course developed over the years, and COBOL has had to adapt to stay relevant. A standard form of the language was developed in 1968 and further revisions were made in 1974, 1985, 1989 and 1991. Those developments were guided by The American National Standards Institute (ANSI), before primary development and ownership was taken over by the ISO, who released newer editions and technical reports in 2002, 2003 and 2006. The next full version of COBOL Standard is expected in 2010 and there is confidence that the next 50 years will be just as successful for COBOL.
“I’ve been in the industry 27 years and COBOL is the only programming language to have endured. As a language for a high volume transaction environment, there is nothing better,” says David Stephenson, UK manager for Micro Focus. “Customers can leave COBOL apps as they are if they don’t want to change.”
The language has had to develop alongside other IT developments such as cloud computing. “The nature of COBOL lends itself to cloud computing and some COBOL apps have already been moved to the cloud,” Stephenson says. “We have done a lot of work internally to make it easier to move apps into the cloud and develop new apps there. Some new development for COBOL was needed, but that is the same with any programming language.”
The future of COBOL
One of the problems with a computer programming language developed 50 years ago is that as the language ages, so do the programmers who wrote it. IBM estimates that there are 1.5 – 2 million developers working with COBOL code, but Rodger suggests that that figure is likely to decrease.
“The population of COBOL developers is distinct in that its age profile is older, on average, than that of developers of languages that are less mature. This ‘grey-haired’ characteristic is due to so many developers having maintained their skills throughout multi-decade careers. One result is that, each year, a proportion of the longstanding base of developers is likely to reach the age where they no longer carry on working, and as time goes on the number of developers that have had long careers working with COBOL is likely to dwindle,” Rodger says in his report COBOL at 50.
Both IBM and Micro Focus have instigated training programmes with universities and other academic institutions to develop the next generation of COBOL programmers. The Micro Focus Academic Connections (ACTION) programme has signed up over 70 universities since its launch in 2007 and aims to ensure that future computer programmers are familiar with the COBOL language. The programme is churning out about 5,000 graduates per year.
IBM also has an academic initiative, providing students at hundreds of universities and colleges with COBOL skills. This, however, is only part of the problem COBOL faces, according to IBM’s Chu. “The user interface is a big issue. New users are faced with a green-screen interface that their grandparents would have used. Twenty-three or twenty-four year olds don’t know that a computer can operate without a mouse. COBOL needs a much more modern interface,” he says.
A more modern interface aside, the future looks rosy for COBOL. “It’s amazing that it is still being used,” says Stephenson. “The name COBOL might not mean very much to the man on the street, but it’s an unsung hero and it’s doing a great job of running UK PLC. ”
A day without COBOL?
To coincide with the anniversary, modernisation vendor Micro Focus, one of the biggest implementers of COBOL, carried out research examining how often people interact with the language during their everyday lives.
The company spoke to nearly 2,000 people throughout the UK to examine how much COBOL is still used. The research found that during an average working day, people interact with COBOL at least 10 times. COBOL is still used to drive most ATM transactions and is involved in most financial transactions that take place. The research found that people in the UK make two online transactions every week, withdraw cash from an ATM every two days and use their credit/debit card every single day. When mobile phone use is taken into consideration, people use COBOL up to 60 times every week or 250 times a month.
How influential is COBOL to the consumer world these days? Can someone go a day without interacting with COBOL at all?
Charles Chu, IBM director of enterprise modernisation, claims that upwards of 75% of the world’s financial transactions use COBOL. With ATM machines, train timetables and utility bills also dependent on the evergreen language, getting through a day without using such an integral part of life presents quite a challenge.
The biggest challenge was the train timetables; the train on my morning commute into Liverpool Street leaves from either platform one or three. Not being able to read the train schedule meant that I had no way of knowing which platform the next train would leave from. Luckily at 8am trains are quite frequent so the wait wasn’t too long once I’d taken a guess.
The journey home was more of a challenge – my train out of Liverpool Street leaves from any one of seven platforms. I had to ask a station supervisor to point me in the right direction and she told me without consulting a timetable which platform to use, so I’m not counting that as a COBOL interaction.
I’ll admit to cheating a bit. I knew I would have to go a day without using my debit card or getting money out of an ATM, so I stocked up they day before. I was actually quite happy to avoid using my debit or credit card. I expect my bank manager was quite pleased too. There were plenty of COBOL transactions I was happy to do without: utility bills, bank transfers, online purchases and mobile phone bills, but for anything longer than a day it would be impossible.
That’s not bad for a 50 year old computer programming language.