In today's world, where we rely heavily on digital systems to manage our finances, it's hard to imagine a time when computers were new and strange curiosities. Yet, that's precisely the world that Thomas found himself in when he started programming in 1969. Over the years, he became a master of COBOL, a computer language that is now over 50 years old but still underpins the entire financial system. In fact, the bank where Thomas worked for nearly 30 years is still relying on the code he and his peers wrote back in the day, and when they need to update or add new features, they have to call on people like Thomas, who is now 73 years old. This raises the question: will Thomas's COBOL outlive him? The answer, as he himself predicts, is probably yes. This article explores how a computer language that is older than Weird Al Yankovic is still controlling the financial life of the world.
COBOL: The Language That Democratized Coding
COBOL is a programming language that has been around for over 60 years and is still widely used today, especially in the financial industry. What's interesting about COBOL is that it is not a language that is typically associated with innovation or forward-thinking. It's not a language that young, energetic coders are drawn to, and yet, it is still essential to many of the most crucial parts of our everyday lives.
COBOL was first devised in 1959 and released ten years later in 1969. It was the first language to make computers widely useful for everyday life, and it democratized coding. Before COBOL, coding was cryptic and difficult to learn, and computer makers often devised their own special languages for their computers, making it difficult to write code that could be used on a computer made by another company. COBOL changed all that by making coding accessible to everyday people who could be trained to be useful COBOL programmers in just a few months.
Today, over 80% of in-person transactions at U.S. financial institutions use COBOL, and fully 95% of the time you swipe your bank card, there's COBOL running somewhere in the background. The Bank of New York Mellon in 2012 found it had 112,500 individual COBOL programs, constituting almost 350 million lines. When your boss hands you your paycheck, odds are it was calculated using COBOL. If you invest, your stock trades run on it too. So does health care: Insurance companies in the U.S. use "adjudication engines'" — software that figures out what a doctor or drug company will get paid for a service — which were written in COBOL. Even the inventory systems used by retailers and airline booking agents are powered by COBOL.
Despite its prevalence in our daily lives, COBOL makes it hard to innovate, especially in older, massive industries central to the economy. It's an ancient language that energetic young coders have no interest in. If big old banks aren't the firms pushing forward with services like Venmo or Square or other "fintech" products, it would follow that COBOL is part of the problem. And yet, Thomas, a retired COBOL programmer, is still being dragged out of retirement to keep it alive.
COBOL - "Hello World" Program |
The reason COBOL is still being used today is partly because it got there first and was a tool fit perfectly for its task. COBOL was a spark that lit our modern computer age. Programmers like Grace Hopper and Mary Hawes devised COBOL to make programming languages easier to learn and to read. Hopper, a rear admiral in the U.S. Navy and a computer science pioneer, believed that programming languages should more closely resemble English. In 1955, she devised a language called FLOW-MATIC that aimed to do just that. Hawes assembled a committee of experts, including many from the nascent business-computer industry, to start creating a language that the average corporate manager could read and understand, even if they weren't trained as a programmer.
COBOL's success lies in its accessibility and the fact that it was the first language that made computers useful for everyday life. It may not be the most exciting or cutting-edge language out there, but its legacy is undeniable. Without COBOL, the modern computer age may not have been possible, and many of the most crucial parts of our everyday lives would be very different.
Why Older Code, Especially COBOL, Can Be Better Than Newer Code
There is a myth in Silicon Valley that newer code is always better than older code. However, older code, particularly COBOL, can be superior to newer code in critical ways. For instance, COBOL was optimized to do mammoth amounts of transactions really quickly, making it an excellent choice for retail chains and banks. It was customized to work on mainframe computers, which themselves were designed to crunch bazillions of transactions, reading and writing data streams at a brisk pace. Over the years, COBOL compilers have been refined more and more, making COBOL's compiled code exceptionally fast. Additionally, COBOL systems have been debugged relentlessly over the years, making them more reliable than new code. When a program is first written, it inevitably has problems that take days, weeks, or years to discover and fix. But COBOL programs that run the world have had decades for coders and users to uncover all the problems, making them more reliable than new code. COBOL is also "stable, stable, stable," making it an ideal choice for applications where reliability is crucial.
The Paradox of COBOL’s Success: Too Stable to Change
COBOL, or Common Business-Oriented Language, is a programming language used mainly by banks, governments, and retailers in their mainframe computer systems. It was designed in the late 1950s, and despite being widely criticized for its clunky syntax and limited capabilities, it became hugely successful. One of the main reasons for its success is its stability: once a program is written in COBOL, it tends to run smoothly for decades without needing any major updates. The paradox of this success, however, is that even if companies want to modernize their systems and move away from COBOL, it is often too dangerous to try. With few young people learning COBOL these days, companies are desperate for coders who know the language, and many have to rely on outsourced labor to maintain their systems. Some firms try to rewrite their entire system in a new language, but this is usually a hellish task that can cost billions of dollars and take years to complete. Meanwhile, the banking industry is shifting towards ever-easier ways to manage money via software, but their COBOL-fueled backends make it difficult for them to roll out new features quickly. While COBOL may be stable, customers' expectations are not, and this is a problem that banks will need to address if they want to stay competitive.
The longevity of COBOL
COBOL, a programming language first introduced in 1959, is a testament to its stability and reliability. Despite numerous predictions of its demise, COBOL continues to power the banking industry, among others, due to its ability to handle large-scale data processing and transactions. However, while COBOL may be stable, it is not immune to the changing expectations of its users. Customers today demand faster, more seamless experiences from their banks, and many banks are struggling to meet these expectations with their outdated systems. This presents a challenge for banks as they try to balance the need for stability with the need to adapt to changing customer demands. The key will be finding ways to modernize their systems without disrupting the critical infrastructure that underpins the financial industry. As banks navigate this challenge, they will need to keep in mind the lessons of COBOL's longevity - namely, that stability and reliability are key to success in the long term. However, they must also be prepared to embrace new technologies and ways of doing things in order to meet the evolving needs of their customers.