Oldest Supported Software?
Dave Santek writes "In development since the early 1970s, the McIDAS [Man computer Interactive Data Access System] software celebrated its 30th anniversary in October 2003. McIDAS is used to integrate and visualize weather information. The software was originally run on a Datacraft /5 and has gone through 4 major hardware configuration changes over the last 30 years. It is a supported software package that remains in use at more than 100 locations worldwide. A history of the first 25 years (pdf) is available. A freeware version of the software is also available."
Air Traffic Control Software: Automated Radar Terminal System (ARTS). The Plain View displays (by Raytheon) in the early '70s had an anticipated lifetime of 1015 years; those in the centers today are now at least 10 years past this estimate.
These displays fail regularly--according to controllers and technicians. At each en route center, which may have 30 to 60 PVDs in operation, it is not unusual to replace two to four of these units a day. When a PVD goes dark, the controller at that station rushes to another screen and urges the controller there to alter his or her display to include aircraft previously tracked on the failed display.
PVDs slipping out of adjustment also cause the size and clarity of the alphanumeric type they display to vary--fuzzy type makes controllers confuse 3s and 8s, which can lead to errors, an Indianapolis controller told IEEE Spectrum. And the units themselves are unstable. Their aging ceramic connectors are brittle and falling apart. Insulation on the wires is brittle, too. The vibration caused in moving a display, as is necessary when a replacement must be brought in, often disables it when fragile connections are broken.
Meanwhile, the Host and ARTS computers that drive the displays are problematically obsolete as well. The Host computer computes radar tracks, maintains a database of flight plans, and issues safety warnings--such as a conflict alert, when two craft are in danger of violating separation standards, and a minimum safe altitude warning, when an aircraft is at risk of hitting terrain. It contains half a million lines of Jovial code and assembly language that was first installed in 1972 and ported from IBM 9020 onto IBM 3083 computers, starting in 1985.
But Host has at most only 16MB of RAM, a serious limitation. And it badly needs replacing. (The ARTS computers in the Tracons are also severely limited in memory, but those are scheduled for replacement.) "The Host software is our biggest problem," a controller from Chicago told Spectrum. "There are so many patches, no one knows how it works. We can't change anything; no one dares touch it, because if we break it, we're gone."
In the mid-'80s, a multibillion dollar effort was started to update both the en route centers and the Tracons by replacing their displays and computers with networked workstations. (Airport towers use feeds from Tracon computers for radar tracking of airborne craft; they use separate surface-monitoring equipment for aircraft on the pavement.) That 10-year effort failed and has, for the most part, been abandoned. Called the Advanced Automation System, the program was sunk by unrealistic specifications and human factors difficulties, among other problems. New efforts to help controllers and pilots are under way, but have yet to make an impact on the present system. Here's the rest of the story from MIT
If you look in the latest Linux Journal though you'll see that Linux has made inroads in this area.
30 years is a long time for a software project to evolve. The question, however, is how much of the original code remains today. Lots of software, especially stuff that changes fast, is this way - I'm sure that not much of the Linux 0.01 code remains in the 2.6.0 tree. It's just a matter of replacing things one piece at a time (or completely rewriting things, in some cases).
IBM mainframe operating systems have been around since the mid 1960s and are still being supported and updated. VM, first called CP/67, then VM/370, then VM/SP, then VM/ESA and now zVM has been around since 1967. Some such as DOS (1965?) are even older but I mentioned VM since its my favourite :-)
This wonderful old operating system was introduced in 1967. It's still around and still supported as far as I know. It grew out of Project MAX as did Unix and Multix.
In terms of the oldest supported computer, the abacus far outstrips any modern programmed computer's support, having existed for thousands of years. Is there any chance that a piece of software could be written that would be supported in functionality and design for that long? Any thoughts on that?
stuff |
FORTRAN is perhaps not the oldest supported software of all but it pre-dates Unix, McIDAS and ARTS and is still widely used and supported today. Some common utilities, widely used today, were adapted and used in the first Unix. Research for all this dates back to the early 60's.
Is there anything from the 50's or earlier that is still supported today? Surely someone at IBM must know...
Lots of software is still in use every day. The algorithms anyways. Quicksort was from the 60's, the numerous algorithms Dijkstra gave us. Many, many more as well.
"If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer
To make the all too common analogy, if you have a car, and 5 years from now it breaks down, you bring it to a mechanic, he says "sorry, this model isn't supported anymore, time to upgrade!", what the hell do you say to that?
It depends on what you mean by break down. If you're talking routine maintance that would suck. If you are talking about a major failure such as an engine or transmission then it would be wise to evaluate the cost of a new car, cost of a used car, vs the cost of fixing the old car. In my case, I have a 1998 nissan sentra, were I believe it blue books for about $4500 with a trade in value of $3000. A good mechanic would take this into account.
But as far as cars vs computers go, every year is equilivent to 10 years in cars. Basided on this logic a good mechanic wouldn't waste their time, "dude it's not worth it, time to buy another one". You can either accept that answer, or reject it if you really love that specific car.
Computers are little diffrent. When the cost of supporting older stuff gets too high, a wise person considers an upgrade or replacement. However, I take STRONG exception to cases where the software is still good, useful, but the company folded and the copyrights are owned by some back somewhere who couldn't care less about actually looking into selling the rights to it resulting in the problem of can't buy nessicary addon cause no one sell it.
There is no sanctuary. There is no sanctuary. SHUT UP! There is no shut up. There is no shut up.
Right here
Xenon, where's my money? -Borno
Thise one is probably older:
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
AUTHOR. ANONYMOUS.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
MAINLINE.
DISPLAY 'Hello world!'.
STOP RUN.
It should be a valid program back in 1959. But I am not sure if the non-capital letters were supported on those old beasts. You may have had to specify the source-computer and the object-computer directives to make it convert the character sets automatically.
It is also quite interesting that slashdot is very unfriendly to cobol code. It claims that I am yelling AND that the "postercomment" compression filter is triggered.
I'm not sure whether TeX can be considered officially supported.
An even older piece of software that is still maintained and developed (although it has changed hands several times) is Maxima (originally Macsyma), which is similar to the situation with Unix if it could be considered a single product, except perhaps that Unix variants have changed more over the past decades...
I worked for Haddock Computer Center (seems to be down) in Wichita, KS for a short time when I was in college. The owner, Richard Haddock, was a programmer from the 60s or 70s (I'm not sure when exactly). He wrote some sort of accounting software or management software for oil companies. It ran on some ancient computer system that I can't recall off the top of my head. I remember sitting in the back room one day eating my lunch. I was kicked back in a chair with my feet up on some big box. My Burger King lunch (I remember that detail) was laid out on top of that box. Richard's father came into the back and we got to talking while I ate. He told me how Richard got his start. Then he said something about that computer right there was what Richard used. He was referring to the really big box I had my feet on and my lunch on. I hadn't noticed that it was a computer system. I thought it was a generator or ancient telco pedestal. It was some honkin' big computer system that Richard kept on hand just in case one of the companies that ran his ancient software went down and needed a quick recovery. Ie, he was still providing some level of support for his oil field software. I thought that was neat.
I have worked on "Host" or NAS as it is formally known (National Airspace System) in the UK. (so yes I know Jovial and BAL assembler). Its REALLY fun programming with nearly every variable being global, using hollerith instead of ascii, and being limited to 7 characters for variable names, and missing many basic programming constructs (no while loop for example). Jovial's memory overlaying techiques were ahead of its time though, and is probably the reason these old systems have been able to keep up performance. We inherited the system from the US buy purchasing the 9020 (or rather its forerunner) and getting the software thrown in for free!. Today NAS still handles the entire UK airspace (including the very busy london sectors).
The approach in the UK is quite different to the States though, we do do changes to the system on a regular basis to improve ATC, and have extra features like automatic DMing, better radar tracking, and recently a way to get rid of PVD in place of a spanking new display system based at Swanwick. The approach in the US i believe has been to build peripheral systems around NAS leaving NAS untouched in the main (I would have thought this was more risky!). Alot of my friends got head hunted to go over to the states in order to make changes to NAS over there due to the high level of competence and knowledge of NAS in the UK, sometimes I wish I would have gone too
I don't agree with your assertion that 16MB of RAM as a limitation with NAS though, most ATC tasks are IO bound, things like printing strips, coordinating with adjacent centres and the like. The biggest problem with NAS is even though it is hardware redundant, it is possible to get a complete loss of processing if the internal memory structures are corrupted somehow, the system will restart on the redundant processor but load in the already corrupt memory structures - oops. I think NAS outdates PVD and should be considered one of the oldest surviving pieces of fully maintained software in the world.
There is nothing like the feeling of reading code and comments that was *written before you were born!*
It used to be 50/50 just 2-3 years ago, but if you go check working paper repositories like IDEAS, which is LARGE, you ll'notice that most recent working papers are written using some version of LaTeX.
Apart from the inherent qualities of LaTeX, it's just an example of "network effect": the more people adopt a technology, the more costly it becomes not to follow suit. For instance, all publishers but some minor ones nowadays recommend submissions in LaTeX. It has worked just like this for microsoft products in many cases, here it's working the other way around.
Not really, I just make a distinction between obsolescence and wearing out. Obsolescence is a condition of having a functionality that is no longer useful, while worn out is a failure to perform a function (useful or not).
Now, with that defined, I can still see your point to the extent that worn out and obsolete are both in the broader category of things that are now useless.
However, unlike worn out which can be fixed by buying exactly what you had before, obsolete can only be solved by buying something different (possibly just a later version of the same software, but nevertheless different.). The costs of providing the old version with new drivers is prohibitive. It can be done but since the number of customers who would have any interest in it could be counted on one hand, they'd have to pay thousands each (and commit to that up front) just to break even.
There are customers and products where that sort of thing does make sense. It's not that uncommon on mainframes. Of course, if you're a mainframe user, you paid (and still pay) mainframe prices that make that sort of thing worthwhile.
The other option is Free Software where as long as there is a community of users for a version, there can be upgrades. Even there, obsolescence creeps in. I'm sure it wouldn't be too hard to get a gig ether driver into Linux kernel 2.0.x, but the performance would be terrible, so there is little interest in that. To get decent performance, the whold network stack would need to be updated, so upgrade to 2.4.x and be happy.