COBOL Fact sheet, created Feb. 2025, Evan Koblentz, NJIT
Q. What is COBOL?
A. COBOL is a computer programming language designed for situations where you need massive amounts of high-speed transactions, such as ATM withdrawals, stock trades, Social Security checks, payroll checks at very large organizations, and so on. Pretty much ALL of the world’s 100 largest banks continue using COBOL today, because it is really, really, really good for that purpose.
Q. I heard it’s from 1959. Is that true?
A. Not really. Lots of technologies that we all use today have their roots from decades or even centuries ago. Alternating current (“AC” power) is how we move electricity from industrial generation plants to our homes — it was invented in 1832. We drink Pasteurized milk using processes developed in 1862. Bell made his famous phone call in 1876. Airplanes, television, and microwave ovens came about in 1903, 1927, and 1945, respectively. We got a polio vaccine in 1955 and a measles vaccine in 1963. We don’t stop using any of those things merely because they are old! COBOL’s first version was made in 1959, but it’s continuously updated for modern usage, just like all of the other inventions and all other programming languages. For example, COBOL had major updates in 1968, 1974, 1985, 2002, 2014, and 2023.
Q. I heard the government is using obsolete versions.
A. There might be small amounts of older versions buried somewhere, but it’s wrong to look at an invention date and conclude that people are using that original version. Otherwise, it’s way overdue to stop putting pneumatic rubber tires on your car, as Benz and Dunlop invented those in 1888. Realistically, the oldest versions of COBOL that you might find in the wild are from the 1980s.
Q. Isn’t that still obsolete though? It’s 40 years ago!
A. Not so much, because the companies that make COBOL continue to have lots of in-between updates so it can work with newer technology. And honestly there is nothing better that has come along. The only better thing would be manually coding in something called assembly language, which is the language built into every computer’s CPU — it handles the basic tasks that make a computer function at all, such as arithmetic — it’s the level directly above the 0s and 1s. That would be an impossible task for the scale of programming that we’re talking about.
Q. Can’t they convert all of that institutional COBOL code to something modern, like Java?
A. Many have tried. Most have failed. Most recently, in 2023, IBM announced an AI assistant to help with the conversion. I haven’t heard anything about it since then.
Q. I read that COBOL was paying Social Security checks to 150-year-olds. How could this happen?
A. It didn’t. What happened is a misunderstanding. Computer programming languages (and operating systems) cannot function without knowing the time and date. We call these epoch dates. The epoch date in Microsoft Windows is Jan. 1, 1601. That’s not a typo — the 17th century! Apple's MacOS epoch date is Jan. 1, 1904. Linux, which controls almost all of the world’s mainframes and supercomputers (plus Android mobile devices) uses Jan. 1, 1970. The date used in the Social Security Administration’s COBOL implementation is believed to be 1875, which they would have chosen because some people could have been born in the 1800s when the SSA began doing things by computer. When you’re programming, you don’t use the system’s real epoch date, you just put zero. Some people also put zero when they didn’t know a date, such as a person’s birthday. So if a missing date led to a zero entry, then an inexperienced COBOL user could mistakenly think 2025-1875 = 150-year-old.
Q. Is everyone who knows how to use COBOL retired or dead?
A. Many are, but COBOL is fairly easy to learn for any competent Java programmer, of whom there are millions. A young computer science graduate today would be wise to learn COBOL and name their price!