Live data from Hacker News

Can Software Be Durable?

news.ycombinator.com

1–10 of 48 posts

Can Software Be Durable?

#1
What would you change about software development if your apps must last 50 years? What must software developers do differently to build apps that will still work 50 years from now? Can software be durable?

Re: Can Software Be Durable?

#2
I've thought about this problem also, and I would love to see in-depth analysis. It would be important to pick hardware that has been widely deployed and can be easily sourced in the future. Documentation must be written in a timeless manner rather than a concise manner. Dependencies should be kept minimal, even OS level system call dependencies.

Re: Can Software Be Durable?

#3
I've been in this industry now for 35 years, and while there is some tech from my starting point that is still around, works fine, and could still be used effectively today... few people know how to use it, so from a pragmatic perspective, it is useless.

So your starting point for this question needs to focus on that evolution of talent. Your app needs to be well-defined and compartmentalized so that each layer can be refactored when (not if) the talent pool dwindles to nothing. You need to develop a strong refactoring culture not only to handle the reality that the best thing you deliver today will be tech debt before the 50 years are up, but that whatever problem it is solving today will likewise evolve.

The durability you seek needs to be ironically focused on change management.

Re: Can Software Be Durable?

#4

I've thought about this problem also, and I would love to see in-depth analysis. It would be important to pick hardware that has been widely deployed and can be easily sourced in the future. Documentation must be written in a timeless manner rather than a concise manner. Dependencies should be kept minimal, even OS level system call dependencies.

"Documentation must be written in a timeless manner rather than a concise manner." <- loved this!

Re: Can Software Be Durable?

#5
This is based on fundamentalky wrong assumption that software is something like a hammer or a bulldozer.

Software is more like a plumbing. It a) wears out b) requires maintenance c) people maintaining it is integrated part of the whole system.

Re: Can Software Be Durable?

#6
I do have a project that's been running about 25-years. But it's not static - new features are added, bugs are fixed, and it just keeps going. Some of the code and the overall architecture are original but there's plenty of new.

That said though, the vast majority of projects I've been on are probably no longer in existence. This is why I take a more casual approach to most projects - I see it as somewhat temporary and it doesn't make sense to put so much effort into a clean project.

Re: Can Software Be Durable?

#7
We’re coming up on 50 years for Space Invaders. We can say that it’s endured because:

- it’s self-contained: it works without dependencies, and with the hardware it was designed for

- there’s an ongoing need: peope want to continue playing Space Invaders

- it’s transposable: the environment it runs in can be recreated through additional layers (emulators here)

- it’s recreatable: the core concepts behind Space Invaders can be reimplemented in the prevailing contexts of the time

Re: Can Software Be Durable?

#8
Given existing examples, be useful (or appealing) enough relative to the complexity of the ecosystem it depends on that people are willing to maintain the means to run it, whether by porting, compatibility layers, or full emulation. Being open-source helps a lot there. Being small and/or efficient enough to run acceptably even with these layers can also help.
Post reply on HN