One late night I was talking to a friend in Boston across many subjects and then the conversation reverted to COBOL. Not being a highly educated IT geek, I asked the question so what exactly is COBOL, fits of laughter was upon me in no time, and I was promptly told, ‘so you mean to tell me you do not know COBOL’ I admitted, no not exactly, so I thought I would do some research to exactly find out what the fuss was all about with the aged COBOL.
So let’s start with what exactly is COBOL? COBOL (/ˈkoʊbɒl/, an acronym for common business-oriented language) is a compiled English-like computer programming language designed for business use. It is imperative, procedural and, since 2002, object-oriented. COBOL is primarily used in business, finance, and administrative systems for companies and governments. COBOL is still widely used in legacy applications deployed on mainframe computers, such as large-scale batch and transaction processing jobs. But due to its declining popularity and the retirement of experienced COBOL programmers, programs are being migrated to new platforms, rewritten in modern languages or replaced with software packages. Most programming in COBOL is now purely to maintain existing applications.
COBOL was designed in 1959, by CODASYL and was partly based on previous programming language design work by Grace Hopper, commonly referred to as “the (grand)mother of COBOL”. It was created as part of a US Department of Defense effort to create a portable programming language for data processing. Intended as a stopgap, the Department of Defense promptly forced computer manufacturers to provide it, resulting in its widespread adoption. It was standardised in 1968 and has since been revised four times. Expansions include support for structured and object-oriented programming. The current standard is ISO/IEC 1989:2014.
Even though the language is fifty years old and there are many other popular and sleek programming options out there, COBOL is still an important part of our tech-driven world. COBOL still accounts for more than 70 percent of the business transactions that take place in the world today.
To put that into further context, Lero, a software engineering research center, recently announced that even in today’s fast-evolving and innovative society COBOL is still being used more than Google.
How much more?
Researchers at Lero claim that there are more than 200 times more COBOL transactions than Google searches worldwide.
The reason that COBOL has not only stayed around with fellow legacy tech but remained a juggernaut is that a large number of companies use systems that incorporate COBOL, and those systems are crucial to operations.
“The reality is that there is a lot of old software out there which is still at the heart of many critical applications, particularly in the area of financial transactions,” Lero’s chief scientist Brian Fitzgerald told Silicon Republic.
This is actually good news for COBOL programmers because they will continue to be in high demand even if companies start upgrading their legacy software and systems overnight.
A survey of more than 350 IT professionals found that nearly half of respondents have already noticed a shortage of COBOL programmers. This shortage can be attributed to COBOL programmers aging out of the industry. Fifty percent of respondents to the same Computerworld-survey claimed that their COBOL staff were forty-five years of age or older, and half of those respondents cited their COBOL staff as older than fifty-five.
Today COBOL is everywhere, yet is largely unheard of among the millions of people who interact with it on a daily basis. Its reach is so pervasive that it is almost unthinkable that the average person could go a day without it. Whether using an ATM, stopping at traffic lights or purchasing a product online, the vast majority of us will use COBOL in one form or another as part of our daily existence.
The statistics that surround COBOL attest to its huge influence upon the business world. There are over 220 billion lines of COBOL in existence, a figure which equates to around 80% of the world’s actively used code. There are estimated to be over a million COBOL programmers in the world today. Most impressive perhaps, is that 200 times as many COBOL transactions take place each day than Google searches – a figure which puts the influence of Web 2.0 into stark perspective.
Every year, COBOL systems are responsible for transporting up to 72,000 shipping containers, caring for 60 million patients, processing 80% of point-of-sales transactions and connecting 500 million mobile phone users. COBOL manages our train timetables, air traffic control systems, holiday bookings and supermarket stock controls. And the list could go on.
COBOL makes the world go round
Grace Hopper brought COBOL into the world in 1959. Over fifty years later, it powers 70 percent of all business transactions. COBOL is everywhere – from ATMs, to point of sales systems and healthcare prescriptions. “The language is present within 85 percent of the world’s business applications” and its place in behind-the-scenes business-software is as prominent as ever. COBOL is woven far too deeply into the business-world to simply tear out and throw away. The world would be a very different place. Without it in many situations, communications around the world would collapse.
COBOL: the language of longevity
Despite these facts, newer languages appear to be the popular choice as they frequently catch the eye of the younger generation developer. The world’s applications do need different languages. But certain languages are better at certain tasks than others. For instance, COBOL’s strengths lie in processing financial-style data and number crunching. Java and C# are used more effectively in the front-end user experience. Languages must be for fit for purpose: “The problem to solve should determine the language to use.”
So why do organisations choose to keep COBOL instead of rewriting applications using the latest language?
After all, keeping up-to-date with the latest technology is important in IT. But when other factors are taken into account – the length of downtime during transition from old to new, the fall in return on investment it triggers, the amount of resources it uses, the training involved – the thought of a ‘rip and replace’ loses its appeal.
As many as 75% of all rewrite projects have resulted in failure. Businesses which already have COBOL established in their systems are unlikely to wake up one day and replace it with Java. Newer languages have not had the chance to stand the test of time, so no-one knows how robust they will be several years down the line. That risk could cost an organisation, the business. So for many, COBOL is here to stay.
The pending problem
The significant concern is that those skilled COBOL programmers are disappearing without being replaced, forming a widening skills gap. Development teams also often work in silo-ed environments, broken down by programming language or the tools they use, which can inhibit application development. But there are many positive reasons to learn COBOL. The next generation of developers must pick up COBOL skills and carry them forward into the future.
COBOL is robust
It’s been adapting to business change for decades, so it really knows the ropes when it comes to keeping things running. Throughout its life so far, it has come across many different obstacles – such as new platforms and devices – and has met each of these challenges. It even integrates with the next generation of modern languages, such as C#, Java, and VB.NET.
COBOL is intuitive. It’s easy to learn because of its English-like structural components and it has been ported to virtually every hardware platform. It runs within modern IDEs – Visual Studio and Eclipse – so there’s no need to worry about learning a new toolset. COBOL is the perfect language to broaden the coding experience – and it’s a language skills desired by employers.
Why wouldn’t you learn it?
It could make you much more marketable in the jobs market: “the more languages learned by developers the better, as a range of abilities will increase their chances of employment.”
It is only a matter of time until the Common Business Oriented Language (COBOL) will regain its spotlight as one of the most in-demand skills of future generations of software engineers. We can just see it now: programmers of the future will hop out of their driver-less cars, walk into their offices and sit down to start coding in 1959’s COBOL.
It sounds crazy, considering COBOL is the furthest thing from most engineers’ minds today. It ranks fairly low in the Tiobe Index, a measurement of today’s most popular programming languages. Many newer, speedier languages give today’s coders little reason not to scoff at the antiquated COBOL. The most telling evidence of COBOL’s irrelevancy is that about 70% of universities said they don’t even include COBOL in their computer science curriculum anymore, according to a recent survey. It’s logical. Why waste curriculum space for a skill that employers don’t even look for these days? A quick search for “COBOL programmer” on any job site, for instance, yields a few hundred job postings while the more popular “Java programmer” yields thousands.
In summary, I guess it is deemed to not fix something until its broke, irrespective of how old the mainframe maybe, In a world where IT continues to power forward, the longevity of the mainframe and its place in today’s computing environment is increasingly being questioned. With ‘change’ often confused with ‘progress’, a mainframe’s durability can work against it. As demand grows for more agile and innovative systems, it is difficult to reconcile a technology in its sixth decade with the technology we carry around in our pockets or use at home. But while dissenters continue to challenge the validity of the mainframe, the technology keeps on proving its worth.