91ɫƬ

The critical computer systems still relying on decades-old code

Software used by banks and the space industry may still rely on archaic code. We went in search of the oldest code in use and asked, what happens when it glitches?

Earlier this year, the technology world welcomed back a long-lost friend. ELIZA, the world’s first artificial intelligence chatbot, had wowed the computer scientists of the mid-1960s with its ability to engage in seemingly meaningful conversation. But, for decades, ELIZA was considered lost because its creator – Joseph Weizenbaum at the Massachusetts Institute of Technology – never published the 420 lines of code he used to create it.

“At that time, it was actually kind of not normal to publish code,” says at Stanford University in California. Weizenbaum might even have thought that nobody would find it particularly interesting.

How times have changed: Shrager and his colleagues are so fascinated by Weizenbaum’s achievement that they founded the and began digging into the history of the ancient chatbot. A few years ago, their efforts were rewarded when they discovered the missing code in a box of Weizenbaum’s old documents at MIT, paving the way for ELIZA’s recent resurrection.

It is astonishing that we can once again talk to a chatbot that occupies such an important place in the history of AI. It got me wondering: is the ELIZA code the oldest out there, or are there even older snippets of computer code still performing impressive or important tasks? My journey in search of the oldest code took me into the heart of modern operating systems and, figuratively at least, beyond the outer reaches of the solar system. And it revealed something unexpected: this old code, far from being revered like ELIZA’s, evokes strangely contradictory attitudes among those who work with it.

We appreciate the value of antiques, which means it is usually easy to identify the oldest example of a given technology. Search online for the oldest flyable aircraft, for example, and you will discover that there is a restored Blériot XI plane in the UK that is more than 115 years after it was built. Ask for the identity of the world’s oldest working light bulb, meanwhile, and you’ll be directed to the , an incandescent light bulb that continues to shine 124 years after it was first switched on in Livermore, California. But look for the oldest working computer code and answers aren’t quite so easy to come by.

For instance, you might be told that the notes Ada Lovelace made in the 1840s constitute the world’s oldest computer program. But the mechanical computer for which Lovelace’s program was intended – Charles Babbage’s Analytical Engine – was never built, so Lovelace’s code was never run.

A stronger contender involves one of the world’s earliest general-purpose computers, the , developed at the University of Cambridge. Volunteers at the National Museum of Computing in Bletchley Park, UK, have been constructing a working replica of an EDSAC machine. Once complete, it will be able to run EDSAC software that was published in scientific papers written in the 1940s and 50s. Such code might be among the world’s oldest – but it won’t actually run until the EDSAC replica is complete.

UNITED KINGDOM - JULY 12: EDSAC 1, c 1949. The EDSAC computer (Electronic Delay Storage Automatic Computer), was jointly designed by Professor Maurice Vincent Wilkes, an English physicist. In Amercia Wilkes saw the ENIAC computer, and with the assistance of colleagues, he constructed the Cambridge University digital computer EDSAC, with ultrasonic delay lines for data storage. He became Professor of Computer Technology in 1965 and a research strategy consultant to the Olivetti Research Directorate in 1990. (Photo by SSPL/Getty Images)
A replica of an early computer called the Electronic Delay Storage Automatic Calculator is under construction at Bletchley Park, UK
SSPL/Getty Images

This made me suspect that a better place to hunt for old – but still functioning – code might be in modern software. The idea isn’t as far-fetched as it might seem. Around the same time that the EDSAC computers were in use, computer scientists began streamlining the way they wrote code, leading to the first “high-level” computer languages – or those that are structured along similar lines to human languages, making programming a more intuitive process. Plenty of high-level computer languages have been developed over the years, including IBM’s Fortran (appearing in 1957), COBOL (1959) and JavaScript (1995). Crucially, even a language that has fallen out of common usage isn’t entirely forgotten. That is because today’s software programs can contain code written in several languages, meaning snippets of old code written in a decades-old language can remain buried in the foundations of the apps we use today.

Armed with this information, I continued with my search – and I quickly found a lead. Guinness World Records claims that the slick modern websites we use to reserve and book airline tickets typically rely on software known as the , developed by American Airlines in 1960. This, I realised, meant that some of the code in today’s version of the software is potentially older than ELIZA’s. I contacted Sabre to find out more, but I received no reply. Undaunted, I reached out to related businesses, including Delta Airlines – the world’s largest airline by revenue – American Airlines Group, United Airlines Holdings, Lufthansa and British Airways. Sadly, none of them responded to my requests either.

Technology firms and banks

I decided to cast my net ever wider, but the result was the same. In my efforts to track down the oldest chunks of computer code that remain in use within modern software, I submitted requests for interviews with technology firms including Apple, Microsoft, HP and Texas Instruments. I had no luck. The “big four” of UK banking – HSBC Holdings, Lloyds Banking Group, NatWest Group and Barclays – also failed to respond. So did Lloyd’s of London and PayPal. Visa and Mastercard initially sounded interested, but ultimately said they couldn’t help me. What could explain this curious unwillingness to discuss old code?

“They’re probably nervous about it,” says , a trustee of the , a charity that aims to preserve the history of a defunct brand of computer created in the UK. He speculates that businesses may be reluctant to draw attention to the existence of ancient code in their products, if any, because they might not know how it works or how to maintain it to ensure that it continues to function.

It's wild to think we're still using decades-old code in the era of AI

Bodsworth tells me a story he heard earlier in his career about a nameless London bank that was confronted with a problem when the UK switched to a decimal currency in 1971. It had a computer program that carried out various financial calculations using the UK’s pre-decimal currency. But someone had lost the source code, so there was no way to modify the software to run its calculations on the new decimal currency. Rather than rewriting the software from scratch at great cost, the bank simply created a bit of code that converted amounts in decimal pounds and pence into pre-decimal pounds, shillings and pence. The converted totals could then be put into the old program to run the financial calculations. Finally, another bit of code converted the results of those calculations from pre-decimal back to decimal values.

“You hear some stories,” says Bodsworth, who adds that the clumsy banking patch-up is exactly the sort of code that could fall through the cracks of modernisation and remain in use today.

When software engineers retire

Even when source code isn’t lost, the expertise needed to understand and modify it may be. Take the , which, in the mid-20th century, was vital for the smooth running of businesses. Bill Hinshaw – who co-founded , a consultancy business based in Texas – has been credited with writing the very first software for a bank ATM back in 1970, which he did using COBOL.

Today, COBOL is no longer the language of choice for computer programmers. It does, however, retain a small but important role in some software. Hinshaw estimates there are 800 billion lines of COBOL running today. The problem is that few of today’s programmers are familiar with the language and of those who are, many will soon be retiring. So when they need some assistance, they call in Hinshaw’s crack squad of old code experts. The youngest contractor with the outfit is 40 and most are in their 60s and 70s. Hinshaw himself is 82. “We don’t see a problem with [working on] COBOL right now. Ten years from now, we may,” he says.

NASA reportedly brings in ageing programmers to maintain code written for old missions

In theory, this shouldn’t cause too many headaches, because code doesn’t really wear out or break. But when software is updated, bits of old code can inadvertently be rendered incompatible with the rest of the program, like pieces of an intricate jigsaw puzzle that no longer fit. For instance, in July 2024, a glitch in a software update released by cybersecurity firm CrowdStrike took out millions of computers in airports, hospitals and banks around the world. In that particular case, the glitch was rapidly identified and a new update rolled out, so most computers were back online within hours. But if such a glitch involved an old code incompatibility that few programmers know how to handle, it might be much harder to fix.

With concerns like this, technology firms’ possible reluctance to discuss old code would make more sense – as does the occasional effort to remove old code from modern software. The most famous example of this process occurred about 25 years ago. At that time, many computer scientists began to worry that existing software – which typically represented years using just two digits – would be unable to distinguish the year 2000 from the year 1900, potentially leading to global computing problems at the turn of the millennium. What followed, says Bodsworth, was a desperate scramble to forcibly remove and replace old code in an ultimately successful bid to avoid what became known as the Y2K bug.

Despite such efforts, however, some old code remains in use in surprisingly important software. For instance, , president of the Perl Foundation – which oversees development of the programming language for which it is named – says that the latest version of Perl, released in 2024, certainly contains some snippets of code from the first version, which was released in 1987.

Perl may be a largely unfamiliar name, but many of us rely on it every day: it powers Amazon Web Services, which, in turn, is used by sites such as and by Apple to run its iCloud software. Important organisations use Perl too, including NASA and the CIA in the US, and MI5 and MI6 in the UK. Whenever we – or members of these organisations – use Amazon Web Services, we are employing code that is almost 40 years old.

Some modern software uses even older code. at Red Hat, a software company that distributes a version of the open-source operating system Linux, says that a command called “indent”, which is included in many versions of Linux, uses code from 1976. “It’s wild to think that we’re still building and using language from nearly 50 years ago in the era of AI and cloud computing,” he says.

There is a simple reason such old code survives, according to Mackintosh: “It just works.” Weighed against the ever-present concern that such code might develop troublesome incompatibilities with newer code is the fact that, over the decades, plenty of old code hasn’t done so. This creates something of a paradox: as time goes by, software engineers become increasingly concerned that old code might cause glitches, but, simultaneously, they also become more convinced that it can give reliable and accurate results.

Space industry software

For evidence of this, look no further than the space industry. works on computer systems at the European Space Agency (ESA). Space missions are costly to design, build and launch, he says, so it makes sense to run them using reliable old code, rather than risk using brand-new code that might develop problems. “These things are billion-dollar satellites, so the people who fly them are really not keen on doing anything that’s not completely guaranteed to work,” he says. “If you mess it up, your spacecraft is fried. End of mission.”

As such, some of the oldest code still in use may no longer be on our planet – or even in our solar system. The Voyager probes, now more than 20 billion kilometres from Earth, may well be running almost exactly the same software today as they did when they were launched in 1977. In line with this, an anonymous space industry insider told me that NASA occasionally needs to bring in ageing programmers to maintain or modify esoteric code written for old missions, just as Hinshaw does with insurance and banking companies.

Yet, at the same time, the space industry seems reluctant to discuss its reliance on old code. NASA didn’t respond to my request to discuss the subject – and even Eggleston admits that ESA authorities were wary about the idea of him talking to New Scientist, in case ESA’s use of old code somehow gave the misleading impression that the agency’s missions are less worthy of funding.

Voyager 2 Testing NASA ID: PIA21736 This archival photo shows engineers working on NASA's Voyager 2 spacecraft on March 23, 1977. https://photojournal.jpl.nasa.gov/catalog/PIA21736 Date Created:2017-07-05 Center:JPL Keywords: Voyager Secondary Creator Credit: NASA/JPL-Caltech
Launched in 1977, the Voyager 2 space probe may operate on old code
NASA/JPL-Caltech

Putting all the pieces together, businesses and organisations show a curious mix of attitudes towards old code. Some appear to mistrust it, others seem to put their faith in it – and almost all of them appear reluctant to talk about it.

Where does this leave us in the quest to find the oldest code still running today? We can only speculate, but Bodsworth suspects it may be quietly running on an ancient computer, performing the same task year after year. One possibility, he says, is that the computer in question is located in a government office, perhaps performing an important fiscal calculation so reliably and effectively that everyone is content to let it carry on. And although such old code might eventually cause a software glitch, it is anyone’s guess as to how long it can function without this happening.

“We’re in the very first flash of the earliest stage of the digital revolution,” says Mackintosh. “When you look at where things are going to be in 500 years’ time, we’re going to build on this same infrastructure.” In other words, some old code might have a surprisingly bright future.

Topics: Computing / Software