Why ATMs Still Use COBOL — A Programming Language from the 1960s
- Yasmin Monzon

- Feb 28
- 2 min read

If you’ve ever withdrawn cash from an ATM, there’s a good chance that transaction was powered by a technology older than the internet itself. Behind the scenes, many of the world’s banking systems — including the software running thousands of ATMs — still rely on COBOL, a programming language that first appeared in 1959.
So, why does a 60-year-old language continue to run modern financial systems in 2025?
Let’s unpack that.
1. COBOL Was Built for What Banks Do Best
COBOL stands for COmmon Business-Oriented Language — and it was designed specifically for handling large volumes of data and transactions, not for flashy user interfaces.
That’s exactly what banks do: process millions of secure, repetitive operations every second.
While modern languages like Python or JavaScript focus on speed of development or web integration, COBOL was engineered for precision and reliability, two qualities that are non-negotiable in financial systems.
2. The Legacy Runs Deep
By the 1970s and 1980s, nearly every major bank, insurance company, and government agency had built mission-critical systems in COBOL.
Fast forward to today, and those systems still work flawlessly — often with minimal downtime.
Replacing them would be like changing the engine of a plane mid-flight.
So instead of a complete overhaul, institutions layer modern technologies on top of COBOL systems — APIs, web frontends, and cloud connectors — while the core logic remains untouched.
3. Reliability Beats Modernity
COBOL’s simplicity makes it incredibly stable. It doesn’t crash, it doesn’t leak memory, and it’s deterministic — every operation produces predictable results.
In industries where a single decimal error could mean millions lost, “if it isn’t broken, don’t fix it” is more than just a saying — it’s a policy.
ATMs, for instance, handle transactions 24/7. Any glitch could freeze thousands of machines and disrupt millions of customers. COBOL’s proven track record means that banks trust it more than any new programming trend.
4. The Catch: The Developers Are Retiring
The biggest challenge isn’t COBOL itself — it’s the people who know it.
Most COBOL programmers are now nearing retirement, and there’s a growing shortage of experts who can maintain or modernize these systems.
In response, many banks are offering high salaries for COBOL developers or retraining younger engineers to bridge the gap. Some universities have even revived COBOL courses to meet industry demand.
5. Modernization: The Hybrid Approach
Instead of rewriting everything, institutions are increasingly using hybrid solutions:
Wrapping COBOL programs in API layers that communicate with modern applications.
Migrating mainframe operations to cloud-based emulators.
Integrating COBOL logic with Java or Python microservices for reporting and analytics.
This allows banks to keep their stable transaction core while evolving their digital experience for customers.
6. A Living Legacy
COBOL may be old, but it’s far from obsolete.
According to IBM, over 800 billion lines of COBOL code are still running worldwide, handling 95% of ATM transactions and nearly all card processing systems.
That’s not nostalgia — that’s endurance.
In a world obsessed with “the latest stack,” COBOL reminds us that true innovation isn’t just about what’s new — it’s about what lasts.
Final Thought
When you withdraw cash, pay your bills, or get your paycheck direct-deposited, you’re trusting systems written in a language born before color TVs were common.
And they’re still running — efficiently, securely, and quietly.
Sometimes, the future runs on the past.



.png)