Your ATM withdrawal this morning? COBOL. Your paycheck deposited last Friday? COBOL. Your stocks fluctuating in real time on the market? COBOL again.
And yet, most developers have never written a single line of it.
So what exactly is COBOL — this ghost from 1959 that runs the global economy in the shadows?
COBOL: the immortal dinosaur running finance
COBOL stands for COmmon Business-Oriented Language. Developed in 1959 by the U.S. Department of Defense with the help of the legendary Grace Hopper.
Its philosophy? Code so verbose it reads almost like English.
Built for the enterprise world, this language has a simple goal: process massive volumes of commercial data with absolute mathematical precision.
A verbose but precise language
COBOL's strength: precision. Its weakness: it takes a lot to write.
Here is what COBOL looks like, compared to modern Python:
IDENTIFICATION DIVISION.
PROGRAM-ID. CALCULATE-INTEREST.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ACCOUNT-BALANCE PIC 9(10)V99 VALUE 0.
01 INTEREST-RATE PIC 9V9999 VALUE 0.0350.
01 CALCULATED-INTEREST PIC 9(10)V99.
PROCEDURE DIVISION.
MOVE 10000.00 TO ACCOUNT-BALANCE.
MULTIPLY ACCOUNT-BALANCE BY INTEREST-RATE
GIVING CALCULATED-INTEREST.
DISPLAY "Calculated interest: " CALCULATED-INTEREST.
STOP RUN.The same program in Python:
account_balance = 10000.00
interest_rate = 0.0350
calculated_interest = account_balance * interest_rate
print(f"Calculated interest: {calculated_interest}")The PIC 9(10)V99 type guarantees exactly 10 digits before the decimal point and 2 after.
No approximation, no rounding error.
When you're handling the money of millions of people, this rigor is vital.
Staggering figures
The numbers are staggering. There are currently 220 billion lines of COBOL code in active production. For context: Windows 10 contains around 50 million lines, Facebook 60 million.
COBOL-powered systems handle:
- 95% of ATM withdrawals worldwide
- 80% of card transactions in stores
- 43% of banking systems in the United States
- The vast majority of payroll systems at large corporations
The Bank of New York Mellon alone has 112,500 distinct COBOL programs, totaling 343 million lines of code.
Every major international bank shows similar figures.
The insurance, healthcare, government, and even logistics sectors rely heavily on this language.
With numbers like these, why hasn't this dinosaur been replaced by modern technologies?
Why it's impossible to get rid of it
A stability worthy of a nuclear bunker
The answer comes down to one word: stability.
COBOL systems have been debugged for 60 years. Every edge case identified. Every potential error corrected. Every disaster scenario anticipated.
The entire global GDP flows through these systems. They cannot and must not go down, because if they do, the world stops.
Compare this with modern development:
A TikTok app can launch with bugs. A broken like counter? No big deal. But if a bank loses track of a billion dollars for an hour? Global-scale financial chaos.
COBOL offers a level of reliability that recent technologies will take decades to match.
The astronomical cost of replacement
The cost of replacement is simply astronomical.
Commonwealth Bank of Australia attempted to migrate its core COBOL system to a modern architecture in 2012. The result? One billion Australian dollars spent. Double the initial budget. The project took years longer than planned.
Even worse: the case of TSB Bank in the UK:
In 2018, following an acquisition, the bank was forced to migrate away from its COBOL system. The migration failed. The bank remained offline for several days.
A catastrophic financial outcome:
- £330 million in downtime-related costs
- £49.1 million lost to fraud during the outage
- £125 million paid out in customer compensation
- £122 million spent on staff handling 204,000 complaints
- The CEO resigned
In total, over £600 million spent.
COBOL: a ticking time bomb starved of developers?
Migrating from COBOL is literally changing the engines of an aircraft mid-flight:
- The code is multi-layered, accumulated over decades.
- Documentation nonexistent or lost.
- The developers who wrote it in the 1970s? Long since retired.
Nobody fully understands what every module does. Universities stopped teaching this language in the 2000s. Young graduates want to work on React, Python, Go.
Bill Hinshaw, 75, a former COBOL programmer, founded COBOL Cowboys in Texas.
Their slogan? "Not our first rodeo."
This consulting firm — whose youngest members are in their fifties — responds to emergency calls from desperate banks, insurance companies, and government agencies.
Hinshaw says: "Code I wrote for banks in the 1970s is still running today."
Faced with this situation, what options do institutions that want to modernize actually have?
The dilemma: modernize or perish
The COVID-19 pandemic laid bare the full scale of the problem:
April 2020. The Governor of New Jersey issued a desperate public call to recruit COBOL programmers. The state's unemployment benefit systems, overwhelmed by the crisis, were no longer holding up. These 40-year-old systems required urgent modifications.
The problem: the state no longer had enough COBOL experts available.
A vice president at Unisys recounted in 2014 the story of a government client employing a 70-year-old developer on life support, who held all the critical knowledge of the system.
The three possible strategies
Faced with this puzzle, three strategies emerge. Each with its own pitfalls:
- Option 1: Maintain the existing system.
This is the current approach of many institutions. They raise the salaries of the rare COBOL experts to retain them. Some consultants charge $200 to $300 per hour. But this approach is a dead end. There simply won't be enough COBOL developers available. At any price.
- Option 2: Rewrite from scratch.
Rebuild the system from scratch in a modern language like Java or Python. This is the riskiest approach. The main risk? An edge case handled by the old code, not managed by the new one, that could cost millions or even billions.
- Option 3: Automatically translate.
Tools are emerging that convert COBOL into Java, JavaScript, Python, or C# without loss of functionality. This is where AI could become a game changer. The challenge? How to train models without documentation, and for every feature, how to ensure everything matches without error?
The hidden opportunity for developers
Paradoxically, this crisis creates spectacular career opportunities. The shortage of COBOL developers is driving salaries through the roof.
An experienced COBOL programmer can easily negotiate $150,000 to $200,000 annually. Even more as a consultant.
Platforms like IBM offer free training programs to develop the next generation. More than 180,000 developers have completed these programs in recent years.
For curious young developers, learning COBOL is a counter-intuitive but potentially lucrative bet. While millions of people learn React or Python, only a handful master the language that runs the global economy.
Scarcity creates value. But what does the future of COBOL really hold?
Conclusion
The next time you withdraw money from an ATM, think about it. Behind the modern interface and the RESTful APIs, there's almost certainly an old COBOL program from 1978 silently validating your transaction.
It's been running 24/7 for decades. It never crashes, and it does exactly what it's told.
COBOL is not just an aging language: it's the invisible backbone of the global economy. Its legendary stability explains why no one can abandon it.
Perhaps the true definition of good code is code that still works after its creator has retired.
And let's be realistic: COBOL will still be here in 20 years.
The transition will be slow, gradual, methodical. Institutions will move carefully, module by module, over decades.
This story holds a lesson for today's architects. That trendy framework you're choosing right now? It may well become the cursed legacy code of 2065.
Does your company have legacy systems to modernize or business processes to digitalize? Discover how RANSAU SYSTEME supports the digital transformation of industrial players or contact us to assess your project.




