11 ms·
Oldest software system in continuous use
- ZeljkoS 4y agoThe wiki history of SABRE is an interesting read: https://en.wikipedia.org/wiki/Sabre_(travel_reservation_system) https://en.wikipedia.org/wiki/Sabre_(travel_reservation_syst... There is also an entry on IRS Individual Master File, but is short on information: https://en.wikipedia.org/wiki/Individual_Master_File https://en.wikipedia.org/wiki/Individual_Master_File
- deepspace 4y agoThat brings back memories. In the late 90s, I travelled a lot, and managed to get an "Eaasy SABRE" account, which allowed me to book flights essentially like a travel agent, with a UI only slightly better than the one they used. I remember spending whole evenings piecing together flights for a round-the-world trip at lowest cost. There was little or no error checking. I once almost booked a flight to Sydney, Nova Scotia, instead of the one down under. Then, tragically, Travelocity shut down the service, leaving their crappy web-based frontend as the only online booking option until ITA came along.
- jazzyjackson 4y agowow, sounds neat. how was payment handled for booking?
- deepspace 4y agoIIRC, the service cost a small monthly fee, so you had to have a credit card on file with them. It may have been possible to just charge the booking fees to that credit card. However, I seem to recall there being a payment dialog at the end of the process, where you were prompted to enter a credit card number for payment.
- ben_roeder 4y agoThis is a great talk on it https://www.youtube.com/watch?v=8_t41xvPp1w https://www.youtube.com/watch?v=8_t41xvPp1w from systems we love
- rippercushions 4y agoSabre announced a 10-year deal with Google to migrate to the cloud. Coming soon, containerized microservices running System/360 assembler? https://www.sabre.com/insights/releases/sabre-forges-10-year-partnership-with-google-to-build-the-future-of-travel/ https://www.sabre.com/insights/releases/sabre-forges-10-year...
- jaqalopes 4y agoFor those viewing the comments before the article, be advised that it is not the case—as my not-yet-awake brain first thought on parsing this headline—that the software system belonging to the Guinness World Records is the oldest in continuous use.
- ska 4y ago>For those viewing the comments before the article ... any confusion is obviously your own fault
- nuc1e0n 4y ago"this code is specific to the System/360 Architecture, and so cannot be run on anything other than an IBM mainframe." This is not true. Emulators are pretty effective and can have passthoughs to new capabilities. Like the ability to play gameboy link cable games over the internet for example
- retrac 4y agoThere's a very complete System/360 through modern zSeries emulator [1] [2] that runs basically every IBM mainframe OS. IBM does not license their recent operating systems or languages to run on it. Though you can of course run Linux, or older versions of MVS or VM. Lack of OS and tool licensing is a showstopper for many users who might otherwise transition away from IBM hardware through emulation. [1] https://en.wikipedia.org/wiki/Hercules_(emulator) https://en.wikipedia.org/wiki/Hercules_(emulator) [2] https://sdl-hercules-390.github.io/html/ https://sdl-hercules-390.github.io/html/
- the_only_law 4y agoDoesn’t z/Arch natively support S/360 binaries as well.
- nuc1e0n 4y agoAre modern versions of IBM systems even popular compared to Linux? The reason these systems still exist is because they use legacy versions of software that could be covered by emulation. Any migration whatsoever would be contingent on the cost.
- jazzyjackson 4y agoI'm sure z/OS is not nearly as popular as linux servers but there is a niche market for what it provides, just because it is old does not mean it is inferior.
- jedberg 4y agoImagine congress passed a law funding software upgrades for the IRS that came along with a bunch of tax code changes to "streamline" the upgrade process.
- dhosek 4y agoOh man, I can remember product owners asking for something that wasn’t what they really wanted because they thought what they wanted would be hard to implement, but of course what they really wanted was easier to do than what they asked for.
- NikolaNovak 4y agoThis happens all the time. A decade ago, a family friend with a band wanted help with burning their CDs. Timidly, "hat in hand, eyes down", they asked if I could maybe, possibly, add 2 seconds of silence in front of their recorded tracks? It's OK if I couldn't, they'd understand. "I finished it while we were talking" "Really?? Amazing!! That's awesome! Didn't know you could do that!! Now, can you also remove John's guitar from this song?" They really had no clue that removing an instrument from a finished mix is HARD, as opposed to adding 2 seconds of silence (and for context this was years before the current deluge of "AI Powered" apps that might conceivably actually do that).
- increscent 4y agoReminds me of this: https://xkcd.com/1425/ https://xkcd.com/1425/
- nonrandomstring 4y ago> As much as 20 million lines of the IMF's code is reportedly written in Assembler – a major obstacle to any modernization That's literally jobs for life for some (un)lucky team.
- danpalmer 4y agoSome of the modernisation efforts for these sorts of systems are fascinating. The US DOD have built a COBOL to Java transpiler that emits nearly-idiomatic Java. As far as I can remember they expect it to essentially be reviewed like any other Java contribution from an engineer and receive minor tweaks, and they're expecting to translate millions of lines of code with it. There's also MicroFocus, a company who build JVM COBOL, with all of the implementation/CPU specific bugs, so that you can move everything on to JVM (or maybe even CLR I think?) and then start replacing pieces with Java/C#. It's not unreasonable for a company or organisation around since the 60s to have this sort of stuff around, however with all the modern options available today, it's pretty unreasonable for them to not have a convincing modernisation plan.
- galangalalgol 4y agoAre there any reasonably fast emulator for the system 360? It seems like ridding yourself of vendor lock would be goal one. Then add an interface wrapper that logs inputs and outputs for several years to build validation tests for any ports or upgrades. It seems like a truly insane effort to port 20e6 lines of assembly and expect to get identical behavior. I doubt the current behavior is even fully documented. Ensuring identical outputs for a lot of recorded data seems at least slightly more valid than trying to go back to documentation or requirements. Perhaps the simplest way to migrate the IRS code is to make the laws simple enough you don't need 20e6 lines of assembly to implement it anymore?
- pdntspa 4y agoProvided the 360 CPU is well-enough documented, I don't see the problem here?
- agentbellnorm 4y agoWith enough saved input/output data, maybe some parts could even be replaced by a ml model? Not 100% serious but then again seems like serious resources are put into this problem, so maybe worth a try
- 4y ago
- komali2 4y agoI'm skeptical because Guinness World Records is a marketing agency masquerading as a ratings house / record keeper. I googled "oldest software still in use" and the rest of the internet think it's MOCAS, the USA DOD contract management software, launched in 1958, two years earlier than Guinness' earliest guess for either of its options mentioned in the article: https://fossbytes.com/mocas-worlds-oldest-computer-program/ https://fossbytes.com/mocas-worlds-oldest-computer-program/ Sorry to be "that guy" but I'm just really cynical about Guinness and records in general. Plenty of their records really are just fun, and I can't find a profit angle for this article for either the IRS or whoever manages SABRE, so I guess I'm just being a snark.
- kwertyoowiyop 4y agoAgreed. I would trust them regarding the world’s largest burrito or sourest lemon, but not this.
- nemomarx 4y agoIt could be PR for the IRS? A bit of public attention to make a play for funding to replace or upgrade this system, etc?
- lioeters 4y agoI for one appreciate your "but actually" comment, the relentless pursuit of facts over fluff. As an aside, I always thought "snark" was a real word, but apparently it's a neologism meaning "snide or sarcastic remark". It's also the name of various fictional creatures, including The Hunting of the Snark by Lewis Carroll, as well as in A Song of Ice and Fire. https://en.wikipedia.org/wiki/Snark https://en.wikipedia.org/wiki/Snark
- NikolaNovak 4y agoGenerally I feel the "Guinness World Records" is "valuable" in that "somebody somewhere put some level of thought and rigour into some record I would never have even realized existed". Not an absolute definitive agency, and when there EXISTS a more official agency, take those; but it's a fun read of "these are reasonably close to the extreme in this obscure area I never thought of"
- DrBazza 4y agoThere I was thinking my 90s code at Megabank that’s still running was an achievement. Fwiw it was and still is a simple time series db.
- ChrisMarshallNY 4y agoEarly in my career, I was offered a job, writing a word processor system in IBM 360 Assembler. I'm fairly glad I declined.
- the_only_law 4y agoShit I’d be willing to work in mainframe assembler. Not like my career was going anywhere anyway, but most mainframe jobs either want established domain experts (people who have been there for decades and are intimately familiar with all the common mainframe technologies) or new grads they can underpay.
- ChrisMarshallNY 4y agoI suspect I was the latter, but I had already had quite a bit of experience with machine code and assembly (8085, 6800, 6502), by then.
- pjmlp 4y agoIt is more fun than dealing with AT&T x86 Assembly.
- yesiamyourdad 4y agoI worked at AA/Sabre in the mid 90s, straight out of college, although I was working on the PC side on the software they put in travel agencies. I left just after AA spun Sabre off into a separate public company. The mainframe software was done in TPF (https://en.wikipedia.org/wiki/Transaction_Processing_Facility https://en.wikipedia.org/wiki/Transaction_Processing_Facilit...) and I believe to this day a large part of it still is. IBM created a C compiler some time in the late 90s and this was considered a major advance for the platform. I believe that the system still runs on TPF with some parts written in C. Those programming jobs were not typical CS grads, most people simply had a HS degree or some college that could pass a logic test, the company had to provide their own training because there was no other way to gain experience with that environment. On the subject of emulation, Sabre also had acquired a company called Agency Data Systems which was written for a Data General minicomputer using a language developed in-house. The guy who invented the language was named Hugh, so internally this was called "HUBOL" (the actual name was something else that only Hugh actually could remember). Some time in the 80s they decided to port it to a PC architecture but instead of porting ADS to a more modern language, they decided to build a DG emulator to run on a PC. When I was there, they were still updating the HUBOL source code (Y2K was a big deal at the time, plus with changes in the travel business, the updates were constant) but running on the homegrown DG emulator on a MS-DOS system. Hugh was quite a character. Back then we still had to wear a shirt and tie to work and Hugh's shirts all had these breast pockets that were stuffed with odd slips of paper. The joke was that he had run every project he'd worked on in the previous 30 years out of his shirt pocket, given the way things operated, there was probably some truth to that. Somebody linked to Adam Fletcher's talk. Adam co-founded ITA which was eventually acquired by Google and probably is the basis for Google Flights. I saw a demo in probably early 1997 when they came around the startup I worked at looking for customers. Their software was written in Lisp and ran on a PC and was completely jaw-dropping. I never realized how bad Sabre's pricing software was until I saw what they were doing. ITA absolutely was the best pricing engine around at the time. In retrospect I probably should have quit my job and begged those guys to hire me.
- bdcravens 4y agoI worked in their HR department in 2000 and 2001, building various systems to support compensation, performance review, etc. Significant part of the role involved working with DBAs who pulled data from those systems into our RDBMS, as we were using web languages of the day.
- chasd00 4y agoIsn’t that tide prediction analog computer implemented with ropes and pulleys and invented before electricity still running in some places?
- ben_w 4y agoWhile that might count as “a computer”, it definitely doesn’t count as “software”.
- tomohawk 4y ago> the low level of funding the IRS has had for modernization The IRS has been trying to modernize for decades. Here's something from way back in the Clinton admin: https://clintonwhitehouse4.archives.gov/pcscb/rmo_irs.html https://clintonwhitehouse4.archives.gov/pcscb/rmo_irs.html But you'll never hear anyone there actually be responsible for the failures. They'll always whine about needing even more money.
- johnklos 4y agoThe failures are due to the fact that the people who can get contracts don't have good programmers, and the people who have good programmers can't get contracts.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- YetAnotherNick 4y agoI would say it is Jacquard's Loom which uses punched card programs to weave patterns. It was invented 200 years back[0] and I could find one video about 100 year old machine used commercially[1]. [0]: https://www.youtube.com/watch?v=MQzpLLhN0fY https://www.youtube.com/watch?v=MQzpLLhN0fY [1]: https://www.youtube.com/watch?v=y5uX143hx38 https://www.youtube.com/watch?v=y5uX143hx38
- Step888 4y agoI would say that RNA is a lot older than Jacquard's Loom. And it is still actively used.
- anonymouskimmer 4y agoBiology isn't software. I say this as a biologist. Software like things can be done with it, but this is no different than treating a bunch of pipes, valves, and a water source as a computer. (Edit to add: Which would make our sewers the oldest hardware system. And I'm sure there are supercentenarians still pumping software through those systems.) I imagine that many physicists feel about physics envy the same way I feel about imagining biology as software. https://en.wikipedia.org/wiki/Physics_envy https://en.wikipedia.org/wiki/Physics_envy Maybe someday we'll have a grand unified theory of everything imaginable and real. But even then distinctions should be made between levels of emergent phenomena. A habitable environment allows biology to exist. Biology allows intelligent beings to exist. Intelligent beings create tools that allow them to make even more tools that do predictable, or otherwise defined, sequences based on various inputs. Hardware is two levels above biology, and software is a level above that.
- psychoslave 4y ago>Hardware is two levels above biology, and software is a level above that. From a conceptual point of view that can be grabbed by some human mind, this all make perfect sense. However, these hierarchies tell more about our way to handle sensedata than it reveals of the actual structure of the universe, if this does match anything relevant past our thoughts.
- Exendroinient00 4y agoLast people managing this kind of old legacy software will inevitably die. The Young generation probably won't replace the entire industry, and from that point onward we would have a pretty massive rot and the forgotten knowledge rippling through the entire society.
- jackmott 4y ago
- earksiinni 4y agoIf you could pick any language to migrate these programs to, which one would you pick and why? I've never used Java professionally, but that's probably what I'd pick. Seems to hit the sweet spot between time-tested, widely-used, enterprise-proven, performant, future-proof/portable, and well-understood. Seems from another comment that's what US DOD is betting on, as well.
- bumby 4y agoMakes me think of the Ship of Theseus.[1] How many changes can you make to legacy code and still consider it “legacy”? [1] https://en.m.wikipedia.org/wiki/Ship_of_Theseus https://en.m.wikipedia.org/wiki/Ship_of_Theseus
- 3-cheese-sundae 4y agoIn many places, infinitely many; legacy is just a convenient word meaning "we know it's old and bad, but we're keeping it."
- chinabot 4y agoAnd its worked for 60 years. I would take that over anything else.
- bumby 4y ago>”we know it’s old…” I think the point I was trying to make is if a substantial amount has been changed, on what basis is it still considered “old”? If every plank and nail of the ship is replaced during it’s voyage, is it still the same “old” ship that disembarked?
- jll29 4y agoPhilosophical Gedankenspiele aside, there are differences between a ship and software. I can best speak to the software side, as I'm not a man of the sea. For once, a ship has to carry its own weight, so you cannot without limit load more and more onto it, or replace parts by heavier parts. With software "evolving" (rather poor but common terminology, I know) in tandem with new hardware, on the other hand, programmers get more space and faster processing every year, so they are less constrained and can postpone radical but scary/risky refactoring. There is no force to radically take out old code, you can comment out a bit here and there and add lots of new fixes and extensions, increasing complexity and technical debt every year, every decade. The OP also mentioned underfunding of the organization, typically the budgets only permit small incremental changes to "keep the ship running": there is no possibility to start a fresh/modern implementation with a separate team in parallel due to the mind-boggling cost. It would be interesting to run a diff of snapshots of any software in 1960 and its 2060 version, if e.g. SABRE or the IRS system may last that long.
- JoeAltmaier 4y agoSome nonsense about having to run old assembler on IBM hardware. There are simulators these days, which would run many times faster on modern hardware.
- pbhjpbhj 4y agoThis is downvoted, is it wrong? It would be very surprising to me if it weren't emulated.
- layer8 4y agoThere might be licensing issues, see https://news.ycombinator.com/item?id=33744285 https://news.ycombinator.com/item?id=33744285.
- jazzyjackson 4y agoI don't know, but just because it can be emulated does not mean it is equivalent. I have a friend who uses DOS software on his modern laptop and laments that it was faster running natively on a 486.
- lost_tourist 4y agoit must have some hard wait time in it or something. Emulators on modern systems running DOS are absolutely many times faster at running old code than that 486 in 99.9% of the cases unless there is some weird timing/resource sharing issue
- JoeAltmaier 4y agoBut we're talking old IBM software. That ran on a refrigerator with discrete logic. It had lights on the front that showed every register value. Under 1MHz if I recall. An emulator could certainly beat the performance of something you could watch execute on incandescent lightbulbs.
- jamal-kumar 4y agoOh wow, I was clicking this link wondering if it was going to be exactly this. Karsten Nohl has a great CCC talk all about this [1] (I'll just copy their explanation of the talk) Becoming a secret travel agent. Travel booking systems are among the oldest global IT infrastructures, and have changed surprisingly little since the 80s. The personal information contained in these systems is hence not well secured by today's standards. This talk shows real-world hacking risks from tracking travelers to stealing flights. Airline reservation systems grew from mainframes with green-screen terminals to modern-looking XML/SOAP APIs to access those same mainframes. The systems lack central concepts of IT security, in particular good authentication and proper access control. We show how these weaknesses translate into disclosure of traveler's personal information and would allow several forms of fraud and theft, if left unfixed. [1] https://www.youtube.com/watch?v=vjRkpQever4 https://www.youtube.com/watch?v=vjRkpQever4
- chx 4y agoThere was a protocol document which showed at least the data structures of the original IBM 7074 survive. I wouldn't be surprised at all if some of the machine code would survive as well, emulated easily.
- jeffrallen 4y agoWhy can't they just.. nah, I'll stop there. :)
- johnklos 4y agoIt's funny how if you ask people about forward-looking systems today, they have either learned mistruths or haven't learned enough about the history of computing to picture much that's reasonable. "Java!" used to be talked about as a good way to create software that you could run in the future, but anyone who has had to keep around old laptops / old VMs to run ancient Java to handle KVMs or device management tools knows how ridiculous an expectation about the stability of Java can be. "Windows!" is funny, because I can't tell you the number of places that have an ancient Windows PC that has either been repaired or carefully replaced with new enough, yet old enough hardware to still run Windows 2000 or XP, because copy protection is stupid, and / or because drivers for specific hardware can't be updated or run on newer Windows, and / or because the software can't be compiled and run on newer Windows without tons of work. On the other hand, you can take large, complicated programs from the 1980s written in C and compile them on a modern Unix computer without issues, even when the modern computer is running architectures which hadn't even been dreamt of when the software was written...
- xboxnolifes 4y agoWindows is a particularly funny one, considering how quick the advice for most issues turns to doing a fresh install. It's a very brittle black box once you try to do any amount of changes from default settings.
- NicoJuicy 4y ago? That's not remotely true. Saying that as a Windows user for three last 35 years.
- xboxnolifes 4y agoEvery time I've ever had Windows issues. A fresh install is suggested no less than 3 steps into the troubleshooting process. Usually something like: 1. Run these handful of commands that never actually fix anything but take hours to complete (sfc/dism/chkdsk/etc). 2. Reseat RAM/GPU/CMOS. 3. Out of ideas, may as well just fresh install.
- 4y ago
- dmitrygr 4y agoI am willing to rewrite ALL the irs software in a language of their choice in return for ability to add a few lines of my own logic for when MY taxes are being processed. IRS, call me ;)
- choeger 4y agoI think we simply underestimate the cost of software maintenance because we ignore software maintenance. Migration to a new language is nothing but an extreme form of maintenance. And it's not even that expensive. We're just used to scales of a dozen or so programmers at best. As a very conservative estimate, translation from assembly to, say, Java, should proceed at the pace of maybe 100 lines per day on average. So a team of 100 developers would need a year or so to translate a 20M lines application. Of course, there's also the effort to create tooling and the framework of the new application, but it's certainly doable.
- Aeolun 4y agoThat’s a hopelessly optimistic estimate. Just like 9 women cannot have a baby in a month, 100 of you cannot work 100x as fast as you do. I’d be surprised if the overall speed-up be anywhere more than 5-6x. It might even be better if your team was smaller. There’s a lot of overhead spent on communication. Probably even more so when converting legacy software.
- bbanyc 4y agoHow about the oldest software in common use? There's probably some parts of the 1973 C rewrite of Unix still around in modern Solaris, idk how common that is. tcsh also dates back to the '70s and is also falling into disuse. Maybe TeX, written in 1982? Though pdfTeX displaced the classic TeX DVI compiler long ago, and all the major TeX distributions translate the Pascal source code to C. I don't know whether that means it's a different program from the one Knuth wrote 40 years ago.
- xmcqdpt2 4y agoBLAS is pretty old, with a first release in 1979. Even though modern computers likely don't use any of the old BLAS code, they still have implementations that respect the original API. https://en.m.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms https://en.m.wikipedia.org/wiki/Basic_Linear_Algebra_Subprog...
- RoadieRoller 4y agoPreamble - I will be downvoted for sure, but let me still post it. The oldest software system known to us, and in continuous use would be 'religion'. The hardware in this case is obviously humans. If you observe, the computer and its I/O all are derived from the hardware known to humans, and it is the human itself. If you see, the hardware features rarely changed, but the software in this case updated and adapted to all situations and has been running for many centuries now. It probably can be related to STUXNET or affects only certain type of hardware. I know this is not the original post about, but this just came out as a thought.