The 65-year-old computer system at the heart of American business

The programming language known as COBOL, which stands for Common Business Oriented Language, turns 65 this year.

We couldn’t help noticing that’s right around retirement age, but COBOL is nowhere near retirement.

It remains a mainstay of IT operations at U.S. government agencies, businesses and financial institutions. Yet the programming language, which is older than the Beatles, is no longer taught at most universities.

Glenn Fleishman is a freelance tech journalist who has written about this aging slab of digital infrastructure. Marketplace’s Lily Jamali asked him whether our continuing reliance on COBOL is a problem. The following is an edited transcript of their conversation.

Glenn Fleishman: There was a point in the evolution of computers where they went from being devices that were barely interactive, and the code was written at a very low level — you had to write instruction and test things, it was practically like wiring a machine. And then, as computers became more powerful, but also, as the people involved in computing understood better what they wanted out of computers, they wanted to be able to write in a higher-level language so that when you looked at it, you could read the code and understand it and it wasn’t just a bunch of numbers or abstracted instructions. So, COBOL was the human-readable-ish programming language that allowed business logic — things that have to do with running your business or running the government — to be expressed in a way that someone else could also look at and understand and revise.

Lily Jamali: And you’ve written that six decades after its creation, you’d expect COBOL to be “the stuff of looping narrative videos and computer history museums,” which makes it all the more surprising that in real life, COBOL is still kind of everywhere.

Fleishman: I think in my naivete as a younger programmer, or a younger technology-focused person, I thought languages would die and they’d be replaced with better alternatives. But it turns out no language ever dies. And some of them are so deeply embedded, they’re never going away. COBOL’s roots are so deep, it’s the 100-foot-tall tree that has 100 feet of roots underneath it. If you cut down the tree, all the roots are still there, and it can’t just be pulled out by hand. It’s an incredibly complicated and unforgiving operation. For a company running a COBOL system, there’s no money to be made by stopping the use of that system. It will cost you money to convert your code base. It might cost you millions or even a billion dollars. So, there’s not any motivation.

Jamali: So, it’s one of those things that gets handed off to the next CEO or the next administration.

Fleishman: Yeah, and sometimes, like, a chief technical officer will come in and say, “Oh my God, we’re still running COBOL. We need to get rid of that.” And then that will destroy that CTO. And then the next CTO comes in and says, “I see what happened to my predecessor. We’re not going to waste $27 million on a project that failed.”

Jamali: I mean, the extent to which this programming language is embedded in our lives is remarkable. And I’ve seen that an estimated 70% of business transactions involve COBOL. Giant government agencies use it. I know, for me, I actually learned about it during the pandemic, when there were all these state employment departments around the country that couldn’t handle the surge in unemployment claims. And it turned out those systems were all running on COBOL.

Fleishman: Yeah, there’s a contextualization for it. Is it bad that COBOL is running most of the world’s economy? Or a big chunk of the world’s economic transactions? The answer is probably no because COBOL was a very straightforward language in many ways, and the way it was written was very straightforward if done well. So as long as you have organizations that are processing millions or trillions of transactions, then they need systems that are optimized for that. And that is very weirdly COBOL plus a mainframe. There are still people growing up learning COBOL. There are still companies employing people to work on COBOL. If you go to the Bank of New York Mellon, they still have lots of COBOL jobs open. There’s no way to get an accurate count of how many companies are using COBOL because COBOL is mostly running in private companies or in government agencies that don’t have disclosure requirements.

Jamali: So probably these job listings are the one way you can really get visibility into this because it sounds like nobody really wants to admit that they’re still using systems that are running on it.

Fleishman: I think a company would not want to go out and have their annual report and say, “We’re proud to say we’re still running 10 million lines of COBOL.” That would probably make investors nervous. But there’s nothing wrong with it. If everything has been reliable to date, then there’s no reason why the reliability would change. The reliability would change if you convert from COBOL to another language and have to figure out all the logic. I mean, the Department of Defense’s MOCAS [Mechanization of Contract Administration Services] system is 63 or 65 years old now, I think, and it’s moved from machine to machine to machine, but the code base had evolved. Imagine untangling 65 years of programming decisions and getting it right.

Jamali: What are the benefits of sticking with COBOL? If you are one of these financial firms or government agencies that’s still running systems on it.

Fleishman: Well, it doesn’t expire is the thing. Knowledge is the issue, not the quality of the code. So code, if it’s written well and it’s working, won’t necessarily break. It only breaks when it’s changed. So, there’s no reason that COBOL can’t continue to be a resilient language that’s used for transaction processing. [The problem is the availability of] the brainpower that’s necessary to keep it running. So, we’ve seen that in different fields where many people have retired and they have very specific knowledge and you can’t hire enough people for whatever because their expertise is not available, it’s not on the market. But I think there is a sense along with progress that things degrade, but COBOL as a language isn’t rotting while it sits in a computer. It’s just doing its thing.

Jamali: We’ve been covering [artificial intelligence] so closely on our show lately. And as I was researching COBOL, it’s kind of striking how the choices that are made at the ground floor of a lot of these technologies can stick for a very long time.

Fleishman: Yeah, there’s a lot of assumptions that get built into everything. I mean, I think one of the lovely things about coding is that it’s something that our brains can somehow do. We can model software in our heads, we can run code in our head and then produce it in a form that a computer can run. That’s a miracle. I have no idea how that works. And most programmers I know run code in their heads first, or you run little bits of code. Code was made to reflect the capability we have. So that means that all coding languages must be built with certain basic insights, basic foundations that have to match up with the human mind. So, one thing that will happen with the introduction of, of these large language models, but also future AI approaches, is that we may have computer languages that are incomprehensible to human beings because they don’t arise from how our brains model things. They arise from processes we don’t understand because they’re actually produced out of themselves.

If you look at 3D modeling, for instance, there’s been some interesting transitions. You can 3D print something and you can feed a model into an optimizing AI and it will produce a shape that no human would ever design, but it’s absolutely as good or even better and uses less material. And you can 3D print that, but you can never make it by hand. You can never design it with your mind. But it’s an optimal form for a part that a person conceived of. And I expect we’ll see that with code too.

More on this

Big money is pouring into exploring how developers might use AI to deal with the many problems that come with relying on legacy tech.

Last fall, IBM launched its coding assistant. The service promises to cut the time it takes to migrate code from COBOL to other programming languages like Java from several years to just one or two.

But The Wall Street Journal reported that will also help developers stick with COBOL and help maintain those older systems, which businesses “aren’t getting rid of anytime soon,” IBM said.