Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

My first mac at work was around 2009. To facilitate using all the internal tools all mac users were issues a windows virtual machine (vmware) that booted the company maintained windows image. Some of that stuff included some things that were dependent on IE 6 era APIs. Which at that point were already deprecated. But MS still supported that stuff.

The amazing stuff was that that vm ran circles around my previous windows laptop, which at that point was three years old. Just way faster than that ever was. Virtual machines and emulators are a good solution for legacy applications. Much easier than pretending ancient APIs are still supported. MS could have saved themselves a lot of grief by just embracing that decades ago and breaking compatibility with each new windows version. Just run the old crap in some vm or emulator. Apple has done that a few times when they switched CPU architectures and when they introduced OS X. They of course removed legacy support as well. But the point is valid: emulation works great.

And it works well enough with Linux support in windows these days; so why not apply that for legacy stuff as well. There's no reason why you wouldn't be able to run everything from the DOS era forty years ago up until now on a modern laptop. And there's no reason to burden modern APIs with all that crap.



It’s worth remembering the x86 emulation on Apple Silicon is as good as it is (reportedly better than most other x86-on-ARM efforts) in part due to CPU features Apple added to the host platform for that explicit purpose, from memory ordering[1,2] to obscure flag bits[3].

[1] https://news.ycombinator.com/item?id=28731534

[2] https://github.com/saagarjha/TSOEnabler

[3] https://news.ycombinator.com/item?id=33635720


Around 2009 (the timeframe GP describes), Apple was still using Intel CPUs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: