Hacker News new | ask | show | jobs
by danbruc 968 days ago
It is more accurately the pipe dream of finished software. In general the environment in which a piece of software is used constantly changes and so the software has to change. Or be abandoned and replaced with something new. And yes, there are some exceptions.
2 comments

I've mentioned before that my wife was going through stuff her mom sent her from the attic when they sold her childhood house and she found an SNES from 1991 and a bunch of old games, and they still work. She's been playing Legend of Zelda pretty regularly for years now on that thing. There's no reason it can't work at least until the material physically degrades to the point of being unfixable (which is not forever, but longer than most software otherwise lasts). Even if something about the regulatory environment changes, nobody is going to issue a recall on a 30+ year-old gaming console forcing you to turn it in.
If you look at this from that angle, every software can be considered finished and the term becomes pretty meaningless. I can use it and it satisfies my needs, so it is finished. But what really happened here is that the entire system got abandoned - hardware, firmware and games running on top of it - and replaced with a new system and new version of Zelda. They could in principle have maintained the game, ported it to new hardware, improved the graphics, sound and gameplay to modern standards.
Pretty easy to fix if the money that be wished it: Finish the environment.
Depending on what kind of software we are talking about, all kinds of things might change. Hardware and software environments evolve, legal requirements change, it really is an endless list of things that you can not control. Could you have written an image editor 30 years ago that would be usable today when you had less RAM than the size of an images coming from a digital cameras today and in an image format invented years later? Could you have written a text editor useful today before Unicode was invented? Could you have written a tax software that anticipated all relevant taxation changes 20 years into the future? Could you handle touch inputs well before smartphones were widely used and deal with the differences between desktop and mobile in general? Keep up with the changes to HTTP, HTML, CSS and JavaScript without updating your browser?