Given that the author explicitly is targeting Windows 2000 as a starting point with the goal of reaching Windows 95(!) -
> While I'm currently getting things running on Windows 2000 Professional SP4, I'd like to get this working on Windows 95 and 98 too. To that end, I'll be using Visual Studio.NET 2003, which was the last version to support Windows 95. I'm also building everything in Windows 2000, but that part's optional.
- I would say Go is completely irrelevant, since AFAICT as of https://github.com/golang/go/issues/57003 it only supports... Windows 8+? It's actually really hard to find an official answer to what platform versions are supported, but I think we can rule out this particular usecase. (EDIT3: Found it - https://go.dev/wiki/Windows only lists back to Go 1.10.8 supporting XP and says only 10+ is supported now.)
---
EDIT: Now for all that at least the official Go compiler is out, Rust, somehow!, is in the running with https://seri.tools/blog/announcing-rust9x/ , which even explicitly calls out:
> TLS is supported via rustls starting from Windows XP, as its dependency ring needs RtlGenRandom. I haven't looked into it too much, but from what I could tell, this should be the only additional API dependency, so by falling back to another way of getting randomness (probably compromising security in the process :)) this should work all the way down to Windows 95/NT 4.0 as well.
... so that's apparently a way to get "a modern language" that actually can do the job at hand. Which is... absolutely wild, and pretty cool.
---
EDIT2: Now in fairness, I guess I have to ask... does anyone happen to know of any attempts to build a (soft) fork of Go that can target older OSs? I can't immediately think of any true hard blockers on the technical side, you'd just need somebody crazy enough to write it...
It's rather long, but iirc the gist was that the installer wouldn't work on 95, so he figured out what the installer did (files, registry) and created a new one. Then a few WinAPI functions were missing and he created stub dlls that would provide them and pass through everything else. And probably some other minor roadblocks.
> While I'm currently getting things running on Windows 2000 Professional SP4, I'd like to get this working on Windows 95 and 98 too. To that end, I'll be using Visual Studio.NET 2003, which was the last version to support Windows 95. I'm also building everything in Windows 2000, but that part's optional.
- I would say Go is completely irrelevant, since AFAICT as of https://github.com/golang/go/issues/57003 it only supports... Windows 8+? It's actually really hard to find an official answer to what platform versions are supported, but I think we can rule out this particular usecase. (EDIT3: Found it - https://go.dev/wiki/Windows only lists back to Go 1.10.8 supporting XP and says only 10+ is supported now.)
---
EDIT: Now for all that at least the official Go compiler is out, Rust, somehow!, is in the running with https://seri.tools/blog/announcing-rust9x/ , which even explicitly calls out:
> TLS is supported via rustls starting from Windows XP, as its dependency ring needs RtlGenRandom. I haven't looked into it too much, but from what I could tell, this should be the only additional API dependency, so by falling back to another way of getting randomness (probably compromising security in the process :)) this should work all the way down to Windows 95/NT 4.0 as well.
... so that's apparently a way to get "a modern language" that actually can do the job at hand. Which is... absolutely wild, and pretty cool.
---
EDIT2: Now in fairness, I guess I have to ask... does anyone happen to know of any attempts to build a (soft) fork of Go that can target older OSs? I can't immediately think of any true hard blockers on the technical side, you'd just need somebody crazy enough to write it...