I'm just as OCD about changes as the next competent programmer, but when it comes to say Starcraft, which is a beautiful one person creation (like most software that reaches a large audience for a long time) it now makes me uneasy as the tables are switching fast underneath.
Emulating X86 on ARM/Risc-V is an abstraction tree I don't want to climb f.ex.
Why not? Emulation is a beautiful thing. It makes one realize that CPU instructions are just another form of abstraction. Providing the old APIs/ecosystem is usually harder than just emulating the binary.
And running old software on modern hardware often uses only a fraction of the power the old hardware used to need.
If one cares about power consumption, modern software has become so much worse.
Well, if you include the power to get to the modern hardware: no; then you are indebted forever by running Starcraft on emulation.
We often discount progress as obvious because we never paid the price of photosynthesis for millions of years before our tiny part in existence.
My problem is specifically getting to the consensus we have today, we were too slow, 6502 (8) freed humans 1982-85, 68000 (16) and ARM-1 (32) came 1985. So we had the instructions (in both senses) for the final hardware then.
40 years, and X trillion barrels of oil, later we are still in complete hardware and software confusion.
64-bit is a big mistake, because nothing scales to infinity; and since nothing is free, we are about to pay the price now!
Indebted to the past and the future to max!
I say roll back to C and Java and rebuild from there on Risc-V (even if it has 128-bit addressing, in case you run out of your 18.4 exabytes 64-bit RAM/disk).
C is crap that only exists because it has always existed. Why would you want to reboot the world on C? And why java as the only alternative rather than something more different?
>64-bit is a big mistake, because nothing scales to infinity; and since nothing is free, we are about to pay the price now!
> but when it comes to say Starcraft, which is a beautiful one person creation
Wait, huh? Are we thinking of the same Starcraft? Is there a different program or utility with the same name as the videogame? Because the videogame was absolutely not a single-person creation.
With all due respect to Bob Fitch, I think you're overly romanticizing here. He wasn't starting from absolute zero. He was heavily refactoring the existing engine and bringing in improvements from the Diablo engine, which was being finished up at the same time.
It's still a very impressive technical achievement to rewrite a game engine like that, I just don't think it qualifies as "finished software" in the way this thread intends that phrase to mean...
edit: in fairness your post wasn't talking about finished software per se; I still feel it's inaccurate to call starcraft.exe a one-person creation.
I understand your feeling: I have a vague uneasy feeling when I see DOSbox or other emulations running. It is a great achievement to allow legacy software to remain alive and executable... But still it seems fake. Nothing to do with the real software running on real antique hardware.
Pretty irrational honestly. The input and output devices make more of a difference than digital software being emulated or not. I'd rather play old arcade games in an emulator connected to a CRT arcade monitor than real arcade PCBs connected to an LCD using some scaler. The former is going to be a more authentic experience.
Sometimes I play old PC games with Wine that are the exact same executable they were 20 years ago.
It is hard to describe but it feels strangely calming, you just know everything is still the same as it always was.