Get off your soapbox and get on board
Much like poking fun at JavaScript for not being a "real" language, programmers love to hate on COBOL. It's easy to find articles lauding COBOL as a dead language, with a plethora of reasons why: It's susceptible to corruption, limited, and no one practices it anymore, to name a few. Smack-talking COBOL has become a new national pastime for developers—so why is it still around?
Well, unfortunately for nay-sayers, COBOL is a bit of a cockroach. When all is said and done, and you and I have kicked the proverbial bucket, COBOL will surely still be there, churning out data points to the void. You may not like it—you certainly don't have to like it—but there's no escaping COBOL's clutches. Here's why:
1. It's already been around the block—and then some
COBOL has been around since the 1950s, when a single computer could fill an entire room. Believe it or not, COBOL started off as an incredibly popular language, especially for businesses and governments. This shouldn't come as a surprise—COBOL stands for Common Business Oriented Language, after all. But what might surprise you is how the language has persisted over time. Sure, it may not be popular with programmers, but it's not about them (or you, if you're among the disgruntled majority). COBOL targets businesses, especially financial transactions, and it's continuing to dominate the market.
You almost certainly encounter COBOL regularly. It's the force behind 95% of ATM swipes and 43% of banking systems. The early adoption of COBOL means it survived several rapid technological advances, often as the core code behind critical financial systems. We built new technology on top of COBOL instead of replacing the code with more recent languages. Today, there are more than 220 billion lines of COBOL in use. We're too far in at this point; replacing COBOL would be nigh impossible without causing significant upheaval in the financial sector.
2. It's easy to understand and maintain
Before you grab your pitchforks, let me explain—COBOL is easy to understand for non-programmers. It's designed to mimic English syntax with verb and clause structure. The result is a linear, self-describing language. While this may result in much wordier code, the bright side of this is that it tells you what it does. This makes reading it approachable for those without a lot of technical know-how.
And once you get COBOL started, it keeps going on its own. While every program and mainframe needs maintenance, COBOL has an incredibly high fault tolerance. It just works: A stable and trustworthy solution for financial industries that depend on reliability.
Finally, language's age is actually a benefit. After all, it hasn't been twiddling its thumbs for the last 60 years. The language has been continually reviewed and improved upon, and the result is some of the most solid code available today.
3. It's the best at what it does
At the end of the day, COBOL is sticking around because—language-be-damned—it does a good job. Sure, it's a niche use, but there aren't any other options where the superior performance justifies overhauling entire infrastructures, especially when these structures are often what keep the lights on.
COBOL does a great job handling large swaths of financial data because it uses fixed-point over floating-point decimal calculations. Furthermore, the systems running on it were built to last. And, for the most part, they've done just that. These systems have been reliably running for years, and they're still running today. They may not be pretty, and they may not be easy to work with, but they get the job done.
So, while we can continue to stand at the pulpit and denounce COBOL, the reality is that it isn't going anywhere. It's robust and reliable. In fact, when issues arise with COBOL programs, it's generally because of how the files are handled, not the code itself. Fix that problem, and you're golden. Every table is a file, and COBOL was designed to isolate file handling from application logic. By replacing the file handler with a modern solution, you can have all the benefits of your COBOL data in a modern database architecture, including SQL and data replication for high availability, without changing a single line of COBOL application code.
If, even after all this, you're still not sure about COBOL, that's fine—it's sticking around whether you like it or not.