The 100-Year Software Application
blog.smartbear.com
blog.smartbear.com
Arguing that software engineering is different is a result of inexperience. Not everything we build needs a "Rolls Royce" level of polish or a "Golden Gate Bridge" level of reliability nor is it a sustainable approach. Economic realities will drag your architecture astronauts back to Earth.
Spend time understanding the needs of your critical infrastructure and design for that.
Not everything we build needs "Rolls Royce" level of polish, but it might be nice to build a few things to that level of polish. Compared to the amount of code that is being written, vanishingly little of it, if any, is really being built to stand the test of time, even if it is being built to very high standards.
I dunno. It's pretty comfortable, and as you say, that couch problem is solved.
A desk from 1900 almost exactly fits the requirements for a desk in 2013 (other than what's in style, and the 'timeless' look often works). Even the 'foundational' software and reports in a business have to change due to the market and goals of the business evolving.
Emacs/Vim definitely exist longer but Eclipse is joining the ranks.
Thing about Eclipse is that it is cross-platform and have bajillion plugins.
What makes emacs/vim longer-lasting to me is their reach across platforms _and_ their simplicy of interface. When a new interface comes out, they just plug in to the old terminal emulator that's already stood the test of 30ish years...
Eclipse is also cross-platform and once you thought Java development dried up comes along Android. I've seen some C/C++ people in the embedded world to use Eclipse more and more lately.
It's the emacs/vim example which is more applicable. The core code hasn't changed for a very long time. The facade may change, but the operation behind that interface is unchanged.
Methinks the article refers more to deliver once, update never, restart never, crashing intolerable. Having a pacemaker makes one keenly aware of the difference: just a battery replacement (4-8 years) is a major undertaking, deliberate restarts are avoided and undertaken with grave care, and crashing, well, I wouldn't notice that problem for long.
When the jvm fades, I think eclipse will as well.
There are tons of plugins even for Arduino, Lego, etc.
Java as the base seems to help by making it cross platform. So I can learn it in Windows and transition to a client with Linux and be minimally impacted.
Now what will make Eclipse go down is another Juno. 100 year software has to be solid and performent. Juno bungled this. They've gotten better, but it's still a black eye.
It's worth pointing out (because I'm a Lisp nerd) that there is a decent amount of Lisp code that is still executable today that was written a long time ago. In terms of software systems, https://en.wikipedia.org/wiki/Maxima_%28software%29 is the one I know about; there might be quite a few others I don't know about.
Also, I've gotten the impression that there is some sort of slow move to Java/.NET from the COBOL systems.
1. Mostly C application that's had >$1bn in sales over the years, but it's been in active development/enhancement since 1992. My oldest contribution to it is probably 1997.
Basically UI centric solutions have a shorter span on average than Algorithms to complex problems.
I read someone's comment on IKEA furniture recently: "you are buying furniture that you and your descendants will use for hundreds of days"
However, I think was quite a few years old and a floor model, so who knows what abuse it was subjected to in the store.
Supposedly, Ingvar Kamprad has a 30+ year old Poäng.