Live data from Hacker News

Can Software Be Durable?

news.ycombinator.com

11–20 of 48 posts

Re: Can Software Be Durable?

#11

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.

Software is a design. In the same conditions it never wears out. As conditions change it tends to work less and less well unless modified, as expected.

Re: Can Software Be Durable?

#12

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.

Please explain how a set of instructions for a computer can "wear out" and "require maintenance", Word 2007 still writes documents fine enough for me

Re: Can Software Be Durable?

#13

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.

Please explain how a set of instructions for a computer can "wear out" and "require maintenance", Word 2007 still writes documents fine enough for me

https://www.cvedetails.com/vulnerability-list/vendor_id-26/p...

Re: Can Software Be Durable?

#14

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 a…

[deleted]

Re: Can Software Be Durable?

#15

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 Invade…

Yeah, Super Mario Bros is 40+ years old by now. Runs just fine in an emulator, even if you can't find the original hardware.

Modern SaaS apps can't be run once the company shuts it down. You don't have the code, not even the executable.

Re: Can Software Be Durable?

#16

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.

Please explain how a set of instructions for a computer can "wear out" and "require maintenance", Word 2007 still writes documents fine enough for me

Programs run on an operating system, the operating system runs on real hardware.

The real hardware gets old, wears out, parts become difficult and perhaps even impossible to source.

The operating system accumulates known vulnerabilities until it's no longer safe to connect to anything.

You can work around the latter two problems with emulation, but it's never the same--display technology if nothing else is different and presents differently. Emulation is dependent on the fidelity of the emulation. It's much harder to make it exactly cycle-and-timing accurate, though in most cases (like Word 2007) it doesn't matter.

The instructions might exist, but they are not runnable without other supporting infrastructure.

This also ignores programs that are wholly reliant on third party compute and instructions you have no access to that can be shut down and no longer available, like your MMOs.

Re: Can Software Be Durable?

#17

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 Invade…

Modern software development started for me in 1985 when we disassembled the Choplifter arcade game they mistakenly put in the college dorm with several student engineers. Within 15 minutes of them dropping it off, we had the back door open and the eproms lifted from the motherboard. Within a couple of hours we had reverse engineered the code, modified it for a free game hack, burned new eproms and put back in service.

In honor of thr 40th anniversary of this hack, I recently played the stock version in an emulator on a web page. Code lives on, I suppose.

Re: Can Software Be Durable?

#18

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.

I think it depends on the project and the programmer. Code I wrote for a Nuclear Power plant is still there. Ditto for the code I wrote for the steel mill. And you can't find ATM machines w/ my code in them easily, but you see them from time to time. Code I wrote to go into the DoD's CAC card is still there, even though the hardware went through a new Rev a decade ago, so it surprises me to say this, but "yay, java?" Some of the code I put in Firefox to support TLS 1.1 & 1.2 is still there, but most of it got refactored out a while ago (and thank $DEITY Brian(?) replaced the old libpkix library that had been in Netscape navigator and then Firefox for about 20 years.) Much of the POTS network has been replaced since the 80s, but I'm told there are one or two switches I contributed to while at DSCCC are still around.

But on the other hand, my 1993 1 character patch to the Linux kernel was replaced in around 96 or 97. I hope to whatever benevolent Supreme being exists that the crap pyth*n code I added to Second Life has been replaced. No one still uses Palm Pilots or Handspring Treos anymore, so I doubt that code has much life in it. Virtually every web app I wrote is dead, but they were fun to write, so whatever. And the code I added to a couple of satellites is dead (though my ground station code is still alive.) I bet that some of the avionics code in the cockpit is hard to update as well.

So... it depends... my nuke plant code still has another decade probably and my old room-mate's anti-lock braking code will probably outlast us all. Embedded systems are probably more long-lived than the Facebook front page. Some are just hard to update cause you can't easily get to the machine, others are hard due to regulatory or compliance reasons.

Re: Can Software Be Durable?

#19

use COBOL..

You laugh, but I was paid a decent hourly rate last year to update a COBOL program. About a decade ago they moved it into a mercurial repo, so I couldn't see history before that. I can't imagine the original app being less than 40 years old (probably 50.)

Re: Can Software Be Durable?

#20
Stop chasing trends and changing for the sake of change. At my job, management is constantly forcing us to reinvent the wheel. The systems we used 15 years ago would still work fine, and be very robust and mature by now. Instead, with each re-write new gaps and bugs come to the surface. For some reason we choose to live in Groundhog Day, instead of making the choice to prioritize cheap, boring stability. Each new solution feels more fragile than the last. When we know someone will tell us to throw it all out in 2 years, there is little incentive to prioritize durability.
Post reply on HN