8 ms·
Unofficial "Tier 4" Rust Target for older Windows versions
- School-Cotton 11mo agoThe idea of running Rust code on Windows 95 is very funny to me. Two completely different universes colliding.
- sedatk 11mo agoIIRC, somebody ran .NET on Windows 3.1.
- lifthrasiir 11mo agoI think it was Windows 95: https://www.youtube.com/watch?v=CTUMNtKQLl8 https://www.youtube.com/watch?v=CTUMNtKQLl8
- userbinator 11mo agohttps://news.ycombinator.com/item?id=22010159 https://news.ycombinator.com/item?id=22010159 3.11, Win32s (so still using 32-bit, not 16-bit code.)
- sedatk 11mo agoYes, that one!
- haunter 11mo agoThe reverse of that is running 16bit Windows 1.x/2.x/3.x apps on 64bit Windows 10/11 https://github.com/otya128/winevdm https://github.com/otya128/winevdm
- wongarsu 11mo agoIn my mind the most common cases of people running ancient operating systems are computers in control of hardware. Plenty of hardware lasts much longer than 30 years, consequently there's still stuff out there that shipped with Windows 95 and never got new drivers. If you want new software for that environment Rust sounds like a great choice
- rkagerer 11mo agoIndeed. Though these days, some prefer older Windows as the new ones are abjectly worse, along all the axes they care about.
- self_awareness 11mo agoWell, there was also Java on Amiga project: https://www.mikekohn.net/micro/amiga_java.php https://www.mikekohn.net/micro/amiga_java.php
- vbezhenar 11mo agoI wish more languages support old platforms. I'm working in a company and a lot of our customers are running Windows 7 and 8, few of them running Vista. I have to use ancient versions of development tools to target those. For example stuck on Java 8 for eternity. It's PITA.
- userbinator 11mo agoIt's not hard to do either, especially on Windows where backwards-compatibility is almost completely guaranteed. Of course those in the planned obsolescence mindset would fight hard against it, because then it would be harder for us to take the good without the bad.
- carstenhag 11mo agoI really hate my bakery, the buns are only edible for some days, after that, they grow mold! Without sarcasm, it is entirely reasonable that when the OS is EOL by the 1st party, software support for it by 3rd party also ends soon after that.
- duskdozer 11mo agoI think it's more like your gen1 wi-fi enabled Philips screwdriver stops working because it's EOL as opposed to because nobody uses Philps screws anymore. Sometimes it's the latter, but not always.
- dwattttt 11mo agoA more direct analogy is right there; your Phillips head screws cam out more easily than Torx. Everyone who wants screws that don't shred as easily moves to that weird 6 pointed star pattern, and your Phillips head screwdrivers are suddenly EOL'd.
- tcfhgj 11mo agoUnlike buns, software doesn't deteriorate
- sanxiyn 11mo agoAn interesting bit of history: for a long time Rust maintained first party support for Windows XP, after other parts of ecosystem generally gave up. This was because Firefox needed it. https://github.com/rust-lang/compiler-team/issues/378 https://github.com/rust-lang/compiler-team/issues/378 (major change proposal to drop Windows XP support) notes this history and links to other relevant pages.
- NooneAtAll3 11mo agoconsidering the all-insistence of rust on using internet for all the libraries, this doesn't seem like a good idea...
- josephg 11mo agoWhat do you mean? Cargo downloads packages from the internet by default programs do exactly what they’re programmed to do. No more and no less. Just because you’re targeting windows xp doesn’t mean you need to run windows xp to do development.
- sanxiyn 11mo agoWith cargo --offline, Rust has better than average support for offline build.
- gspr 11mo agoWhat insistence? I do 99% of my Rust development with this ~/.cargo/config.toml: [net] offline = true [source] [source.crates-io] replace-with = "debian" [source.debian] directory = "/usr/share/cargo/registry" Works great.
- fithisux 11mo agoI think this is valueable for efforts like Reactos.
- self_awareness 11mo agoAnd unofficial "Tier 5" Rust Target is... for Commodore-64: https://github.com/mrk-its/rust-mos https://github.com/mrk-its/rust-mos It works, and builds binaries that are ready to be executed by Vice emulator.
- zozbot234 11mo agoThis target might become more viable in the future as Stable Rust adds options to rebuild libstd with custom features as part of building a project.
- arka2147483647 11mo agoFor someone who is not a rust programmer, but would like to keep up to date, can somebody tell me what "Tier 4" is. And why must it be quoted?
- the8472 11mo agotiers 1-3 are policies[0] for in-tree targets, so by saying tier 4 they mean one implemented in a fork. Though that kind of skips over targets that can get away with just a custom target spec[1] and not modifying the source. [0] https://doc.rust-lang.org/beta/rustc/target-tier-policy.html https://doc.rust-lang.org/beta/rustc/target-tier-policy.html [1] https://doc.rust-lang.org/rustc/targets/custom.html https://doc.rust-lang.org/rustc/targets/custom.html
- rwaksmunski 11mo agoTier 3 is max official
- chiffaa 11mo agoRust has 3 "platform support" tiers (effectively - guaranteed to work, guaranteed to build, supposed to work). However, these are (obviously) defined only for some of the target triples. This project defines "Tier-4" (which is normally not a thing) unstable support for Windows Vista-and-prior
- binaryturtle 11mo agoAnd here I'm still trying to get an up-to.date Rust running on my outdated OS X (10.10). No luck (though I may not try hard enough).
- estebank 11mo agoI knew I'd seen something along those lines: https://nitter.net/turbolent/status/1617231570573873152 https://nitter.net/turbolent/status/1617231570573873152
- seritools 11mo agoAuthor here -- previous discussions/blog posts: https://news.ycombinator.com/item?id=23313577 https://news.ycombinator.com/item?id=23313577 https://news.ycombinator.com/item?id=31112273 https://news.ycombinator.com/item?id=31112273 https://news.ycombinator.com/item?id=37787161 https://news.ycombinator.com/item?id=37787161 https://news.ycombinator.com/item?id=38810782 https://news.ycombinator.com/item?id=38810782
- ptspts 11mo agoShameless plug: Some of my hobby projects written in C (e.g. https://github.com/pts/bakefat https://github.com/pts/bakefat) can be built reproducibly for Linux >=1.0 (1994), FreeBSD (same ELF executable program file as for Linux) and Win32 working on all versions of Windows (Windows NT 3.1 (1993)--Windows 11). The C compiler (running on Linux i386 and amd64 host) used for the release build is self-contained and included in the project, along with the libc. Doing such backward compatibility is definitiely possible for command-line tools. Once set up, it's automatic, and it needs extra testing after major changes.
- anthk 11mo agoMinC for XP and up: (MinC is not Cygwin, you get cc, ncurses, ksh, git and some goodies). https://minc.commandlinerevolution.nl/english/home.html https://minc.commandlinerevolution.nl/english/home.html IronTCL for XP and up https://minc.commandlinerevolution.nl/english/home.html https://minc.commandlinerevolution.nl/english/home.html Updated SSL/TLS certs, again for XP and beyond: https://legacyupdate.net/ https://legacyupdate.net/ Tiny Pascal-like language targetting DOS, CP/M and Unix: https://t3x.org/t3x/0/index.html https://t3x.org/t3x/0/index.html It's no Free Pascal but it can do good stuff with very little: https://t3x.org/t3x/0/programs.html https://t3x.org/t3x/0/programs.html JimTCL, a tiny TCL with bundled TLS, JSON, Sqlite3 and, optionally, some SDL2 support: https://github.com/msteveb/jimtcl https://github.com/msteveb/jimtcl https://jim.tcl-lang.org/home/doc/www/www/index.html https://jim.tcl-lang.org/home/doc/www/www/index.html You can compile JimTCL with MinC under XP, and maybe T3X0 too. With JimTCL you can build a quick TCL expect clone, some netcat clone too with TLS can be done in minutes too, really good for debugging or to create a simple IRC/Email/Gopher/Gemini client in text mode.
- pwdisswordfishy 11mo agoCan it manage Win32s?