News for hackers. Stuff that matters.
Re:Ask HN: Immortal software: how would you write it? by adrianN on Friday March 01, 2019 @07:33AM (#19279944)
First you define a very simple virtual machine so that the part that needs to be ported to different hardware is minimal. Then you write software for that machine using tools that are themselves written for that machine. Make sure that the parts that are needed for software development inside your VM are very precisely defined.
Re:Ask HN: Immortal software: how would you write it? by hyperpallium on Friday March 01, 2019 @07:58AM (#19280117)
So far, no software has managed to last 100 years, and no computer language has either (though if C isn't still going, something has happened, IMHO).

You have the right idea. I want to note that, in a sense, the program would partly be written in the specification language with which ths VM is defined. One could use English - probably OK, though English has shifted a bit in the last 100 years (is it shifting more slowly with the internet, or faster?). And you can use mathematical notation, which has also shifted, but more slowly.

That helps with porting, so it can run, but the question of maintaining the software remains (changing it to meet changing circumstances and needs)

- Is it better to totally nail it perfectly, so only known aspects need to change? (A bit like your VM approach, in some ways).

- Or make it minimal, simple and clear, so the core can be preserved, modified, even rewritten, without losing the basic idea of it?

Re:Ask HN: Immortal software: how would you write it? by jbf1001 on Friday March 01, 2019 @11:28AM (#19282255)
So the JVM?