Slashdot Log In
What Is the Oldest Code Written Still Running?
Posted by
kdawson
on Sun May 11, 2008 02:30 PM
from the when-dinosaurs-ruled-the-datacenter dept.
from the when-dinosaurs-ruled-the-datacenter dept.
Consul writes "What is the oldest piece of code that is still in use today, that has not actually been retyped or reimplemented in some way? By 'piece of code,' I'm of course referring to a complete algorithm, and not just a single line." The question would have a different answer if emulation, in multiple layers, is allowed.
Related Stories
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
A rare topic (Score:5, Interesting)
Somehow I doubt that many of the people that would be running such old computers such as ones from before 1970 would be reading Slashdot. And if you think about it, people conceptulized computers differently back then. I think you'd be hard pressed to find mention of a specific program but more of mention of a computer itself. Its too bad there is such a big disconnect between the generations of computer programmers and administrators.
Re:A rare topic (Score:5, Insightful)
Parent
Re:A rare topic (Score:5, Interesting)
Back in 1994 I did some contract work for a banking site that was still using some code that another firm I had worked for wrote in 1969, though it wasn't entirely unmodified. The source had somehow disappeared into the great filesystem in the sky, and it was my job to patch the binary directly.
Sadly, that sort of procedure has pretty much gone out of fashion, along with the Real Programmer. (Sigh) That's why I am no longer in IT...
Parent
Re:A rare topic (Score:5, Informative)
Parent
Re:A rare topic (Score:5, Informative)
Parent
Re:A rare topic (Score:5, Informative)
The joke is that not only it takes four lines of unintellegible gibberish to do with JCL what we would today write as 'rm my/file/name', but also that, against all odds (and all that is holy), it still works today and is used in the exact same way it was used when somebody's grandfather first wrote it.
Parent
Re:A rare topic (Score:5, Insightful)
Parent
Re:A rare topic (Score:5, Informative)
I'm not too familiar with it, so I don't know if the code has ever been changed -- I suspect the hardware has been updated periodically, probably various IBM mainframes -- but based on my experience with government systems there is probably a fair bit of original code in there that nobody understands anymore, and thus doesn't touch.
There is very little information about the system online; here is an Internet Archive page about it [archive.org], that's as close to an 'official site' as I can find.
Parent
Re:A rare topic (Score:5, Interesting)
I don't know for sure, but I suspect that the oldest code still in use is probably the FORTRAN differential equation libraries that are used in aerodynamic and thermodynamic applications. These were developed and extensively tested in the 1950s, and were much of the reason why FORTRAN got the funding it needed. The cost of rewriting these libraries from scratch, including complete re-testing, is very high. Yet the final cost of an inaccurate result is magnitudes greater.
My understanding is that when these libraries are migrated to new environments, it is generally considered better to test the emulations and tweak them until their results agree with the results of vintage systems, rather than messing about in the library code.
Parent
Oblig xkcd. (Score:5, Funny)
Parent
Re:Easy (Score:5, Funny)
Parent
Re:Easy (Score:5, Interesting)
http://en.wikipedia.org/wiki/RNA#RNA_genomes [wikipedia.org]
Parent
Re:Easy (Score:5, Funny)
DNA is in a more or less constant state of "editing". But yeah, there are trees that are almost 5000 years old which presumably haven't evolved in that time.
Parent
Re:A rare topic (Score:5, Insightful)
And why should they? It works. It does precisely the job it was designed to do, and continues to do it at at least the level of ability it originally had, often better if the hardware underneath has been upgraded. Something only truly becomes obsolete when it no longer satisfies today's needs. A well designed, task-specific system could theoretically never become obsolete.
Parent
Re:A rare topic (Score:5, Interesting)
At my job they're replacing a bunch of Tandem code that runs some of our core IT infrastructure with Wintel servers. It makes me ill to even be near the work, because they're taking something that just quietly works and "upgrading" it to something that doesn't.
For those who don't know, Tandem is a high-availability platform designed to never go down. They had the power off to the building earlier in the year and the Tandem folks weren't sure they knew how to power the system on properly - that's how long it had been running.
Parent
Re:A rare topic (Score:5, Insightful)
I agree with you that if it works, why fix it? But when a product has reached end of support because 1) the manufacturer has stopped supporting it or 2) there is no one in the working population that knows what to do with it, then you have to get it out of your infrastructure. You cannot continue to rely on products that you have no way of fixing if they break. Just because it hasn't broken in the past 30 years is no indicator that you won't hit something in the next 30 that won't break it.
Parent
Re:A rare topic (Score:5, Informative)
If it's a mission-critical system, then power outages aren't a concern: The system itself will have a UPS capable of keeping the system running for quite awhile once main power drops, and also will have a generator of some sort backing that up as well. It starts up after a specified amount of time, far in advance of when the UPS will fail.
Once mains power drops, and the UPS starts, alerts are generated to those responsible for keeping the system running, and one of the first things that those people will do is call the company that provides their electricity to ascertain the nature of the outage.
From there, they will arrange for additional fuel for the generator, should the outage be prolonged, and most likely will already have such arrangements in place, if they are doing their jobs properly. In addition, they will start alerting the people in charge of the department(s) that rely upon it, and will keep them informed as well, so that they can plan for it being shut down, should such be required.
However, for the most critical systems, plans will be in place for a transfer of services off-site, should such be necessary.
And, again, if it's mission-critical, regardless of its age - all of these things have been planned for, years since, and, if done properly, they are tested on a regular basis as well: Contracts are in place, points of contact as well, and all are updated regularly: Part and parcel of keeping the system running.
And trust me, if all else fails, and it needs to be shut down, then such has been planned for as well, including having "a guy" available to turn it back on, once reliable power is available.
In addition, such things as handling "what happens if it breaks" have also been planned for, and that includes migrating, when such is deemed necessary.
I'm not sure why you got modded up to +5 Insightful, since there's nothing really insightful at all about your post: It reeks of assumptions that simply do not apply in the real world for those of us in IT that actually support mission-critical systems daily, and do so with an eye towards service and availability for those that rely upon them.
But, this *is* Slashdot: Many here think that those of us in IT exist only to thwart them, because we are clueless, and afraid of their superior "skillz", by their estimation.
I trust I've proven that such isn't always the case
Captcha: archfool
That made me laugh - it's an amazingly appropriate summation of my opinion of the parent poster
And I say that with NO anger. If anything, I'm saddened that such a post was found to be insightful by anyone.
Parent
Re:A rare topic (Score:5, Interesting)
It was blooming hilarious to see it never need to page out to system memory because the entire OS was living on-die.
-nB
Parent
Re:A rare topic (Score:5, Insightful)
One says, "This is old, and therefore good."
And one says "This is new, and therefore better."
John Brunner - The Shockwave Rider
and we've all read that book at least once, right? RIGHT?
Parent
Re:Pioneer and Voyager Comps Receive Uplink Update (Score:5, Interesting)
Parent
Re:Pioneer and Voyager Comps Receive Uplink Update (Score:5, Insightful)
Parent
Re:Pioneer and Voyager Comps Receive Uplink Update (Score:5, Insightful)
When you try to express a concept that might piss people off, and you aren't trying to piss people off, saying so and expressing sensitivity to their beliefs isn't "PC", it's basic technique of a civilized person in conversation.
note the word "civilized" typically connotes that you are attempting to be a civil person. While being an opinionated asshole is easy and fun (believe me, I know!) it is not effective communication unless your goal is to intimidate your listeners.
I share your impatience with people with thin skins; I also share on a personal level your disdain for those people's "maturity". but the fact is, people are different, and some people have thin skins for legitimate reasons you have no knowledge of. recognizing that is simply showing your listener that you have a basic respect for them as a human being, and it typically goes a lot further to achieve final understanding that just beating them about the head with their own "hot buttons".
in short, showing a little respect, deserved or not, is what it means to be civilized, IMHO. I don't always follow this. But whining about PC stuff is old and tired. Yeah, some people suck and are stupid and wussy; and it's still cool to be cool to people, by and large.
Parent
Re:Pioneer and Voyager Comps Receive Uplink Update (Score:5, Funny)
Parent
Re:Pioneer and Voyager Comps Receive Uplink Update (Score:5, Funny)
They had to, because Voyager kept calling itself "Vger".
Parent
The OS powering John McCain's artificial heart... (Score:5, Funny)
Sadly, it has a Y2K bug. This explains why the John McCain of 2008 is not the same as the one from eight years ago.
The oldest code in existence: (Score:5, Funny)
Re:The oldest code in existence: (Score:5, Funny)
Parent
Re:The oldest code in existence: (Score:5, Insightful)
Parent
Re:The oldest code in existence: (Score:5, Interesting)
It's the oldest living organism, so it's got the oldest bit of unchanged genetic code, and obviously a lot older than computer code for sure.
Parent
Re:The oldest code in existence: (Score:5, Funny)
Parent
Embedded microcode (Score:5, Insightful)
I don't remember when digital watches started appearing, but I suppose there's a bit of code in there? Various industrial machines from waaay back that are still in use ought to be good candidates as well.
Kudos to Consul for a remarkably interesting Ask Slashdot. The best one I've seen in a long while
BSD had a 25-year code still running... (Score:5, Funny)
Oldest possible... (Score:5, Funny)
2 create universe()
3 while (1)
4 # I'll finish this up later
For which value of 'code'? (Score:5, Informative)
logarithms (Score:5, Insightful)
Not quite a cheat, but I'd say that the original instructions used to calculate log tables might be close.
It's code (well, instructions - same thing?)
While it has been retyped many time, I'm sure the original paper-based instructions are still in a library somwwhere, and would work on a suitably old calcuator (hand-cranked, of course)
It's definitely a complete algorithm
Ada Bryon's Code (Score:5, Interesting)
Of course Charles Babbage [wikipedia.org] holds the claim for longest vaporware project at 153 years. And also apparently the longest unfixed bug.
How about the oldest piece of your code? (Score:5, Interesting)
Anyone else with a story?
IEFBR14 (Score:5, Informative)
IEFBR14 CSECT START PROGRAM SECTION
SR 15,15 SET EXIT CODE TO 0
BR 14 RETURN AND EXIT
END TELL ASSEMBLER END OF PROGRAM
Interestingly, the first version of this program had a bug, which was subsequently corrected by doubling the program length. It omitted the SR 15,15 statement, which meant that at program exit register 15 had an unpredictable value -- and the program exit code was therefore unpredictable. Since a zero exit code is used to guide the conditional execution of subsequent steps, a failure could be indicated when there was none.
And contrary to another post, I believe there are a lot of people with computer experience predating 1970 who read Slashdot. But I don't want to start a flame war over that.
Tea, Earl Grey, Hot (Score:5, Interesting)
Of course, it depends on what you count as code and what you count as running.
People have already mentioned DNA, and I guess I'd give that high marks. But maybe we mean things invented by man.
An abacus is a hardware program that is programmable with data and will yield numeric results. So is a sliderule. And there are others like the card sorters for punch cards, which predate programmable computers by several decades and yet performed very useful computation long before general purpose computers. And there are analog computers for predicting the motions of planets or for controlling the locks of the Panama Canal. But maybe we meant code implemented in software.
The Babbage Machine is mechanical so if it stops, does that mean the machine has crashed or does it just have a long cycle time? People have mentioned that, and that's certainly a worthwhile contender.
Mathematics also codes up algorithms, some of which are extremely old, and some of which you might regard as code, and so there might be something there that's competitive. But in a forum like this, full of nerds, I think "math" is too easy an answer and isn't provocative enough to get people thinking, so I'll go with this one:
My personal favorite is just something done in human language. Human language has codified the execution structure of organizations and processes for quite a long time. The US Constitution defines an engine that runs the United States, for example. Roberts Rules of Order is a program that is an interrupt-driven system that runs meetings. Contract law in the US (and perhaps world-wide) reminds me a lot of the structure of bootstrapping TCP (reliable transport of packets under a contract) from unreliable pieces (the contract terms and offers); the whole business of how you can send an offer and what constitutes acceptance in the face of data loss and things arriving in the wrong order is very much analogous to what you see in modern networking systems, but just used to work via pony express instead. So I'd put my vote on one of those. I just don't have the time to work out the timelines to figure out which one came first... probably something in English Common Law. It also depends on whether you want a "framework" or a "packaged application" or whatever, because some of these I've mentioned are in different categories in that regard. These may not be quite as old as some mathematical algorithms, but I bet they're more overlooked.
Now that I think of it, though, I bet food recipes (which are algorithmic in nature) predate even the earliest work of mathematicians, and it wouldn't surprise me if the recipe for making hot tea is the oldest, even if it's been upgraded a few times for changes in available hardware.
1968 for me. (Score:5, Informative)
The source code was written by my first CIO in the mid 1980s (who retired in the early 1990s), and it had a comment at the top which stated that it was created in January, 1968. It is quite sloppy... clearly before anyone thought about writing pretty code. There is no doubt in my mind that it was originally written on coding forms, and subsequently loaded into a machine via the long-defunct keypunch department. The program, of course, is running on much newer hardware now, but the code that is running was written in 1968.
I speculate that there is a bunch of older code outside of my company.
My guesses (Score:5, Interesting)
2. Some airline reservation systems are of equally antique origins. Although I'm sure the hardware has been updated in the ensuing years, I'd say there's probably a lot of code that hasn't been rewritten. Back in the '80s when I was doing some work with an airline and asked about that, I was told, "That code is older than you are."
3. Don't know if this is still the case, but back in the late '70s, Navy carriers had computers so old that they were having to scrounge up germanium transistors to keep them operating. They wanted to keep them operating because nobody wanted to pay to rewrite the gazillion lines of reliable and tested assembly-language code that ran on them. If any of those are still around, they'd be my top candidate for having unchanged code still in operation. I'd guess that, in general, military systems (of the non-COTS [commercial off-the-shelf] type) are the most likely "oldest code" candidates, because of the lengthy and expensive qualification process and the long service life of such systems.
Orange Leos (Score:5, Interesting)
not sure his age estimate is necessarily accurate -- the final
incarnation of the Leo ceased to be manufactured in the later half of the
60s.
I don't know if some modern incarnation of the Orange Leo made it past Y2k. If it did, my guess is it will still be around for a long time...
From: Deryk Barker
Subject: Re: Multics
Newsgroups: alt.folklore.computers, alt.os.multics
Date: 1998/11/09
[*snip*]
When my wife was working for Honeywell, in the 1980s, one of the
customers she had dealings with was British Telecom.
BT, at one location, had what they called the "orange Leos".
Now, for those who don't know this, the LEO was the world's first-ever
commercially-oriented machine (1951). Even more amazingly, the Lyons
Electronic Office was designed and built by the J Lyons company,
best-known as manufacturers of cakes and for their nationwide chain of
corner tea shops.
Anyway, an "orange Leo" was an ICL 2900 mainframe (they came in orange
cabinets), emulating an ICL 1900 mainframe, emulating a GEC System 4
mainframe emulating a LEO.
30+ year old executable code over 3 architecture changes....
Has to be greater than 45 years (Score:5, Informative)
Brett
Re:I'm not sure (Score:5, Insightful)
Parent
Re:oldest code in existence (Score:5, Funny)
-k
Parent
Re:oldest code in existence (Score:5, Funny)
Parent
Alan Turing's First Program (Score:5, Informative)
Parent
Re:Depends on what you mean by code and running... (Score:5, Informative)
Parent
Re:Probably... (Score:5, Interesting)
Parent
Re:Jacquard loom (Score:5, Informative)
Parent