7 ms·
> At some point in the not too distant future, old x86 applications will cease to run on Macs, as emulation support won’t run forever One thing I can credit An
by Multicomp 6y ago
> At some point in the not too distant future, old x86 applications will cease to run on Macs, as emulation support won’t run forever
One thing I can credit Android some, and Windows a lot (even 10 with all its manifold privacy and user-hostility problems) with is that they are backwards compatible.
exceptions to every rule, etc., but I can run all old versions of Android apps on an Android 11 phone, same for Windows programs going back to 1996 or so with few tweaks, and can squeeze that back to 1993 if I fuss and cuss and so on.
yes, this is arch to arch emulation, but the idea od taking that feature away in ~4 years vs Android's best effort continued compatibility or Microsoft's compatibility layers is a cost/benefit that I apparently disagree with Apple decision makers on.
- akmarinov 6y agoTrue, that's a good thing, but that's also where you get a lot of the cruft that slows things down. For example Apple no longer has to support OpenGL and it can just cut out relevant hardware on the SoC level, leaving more room for other things. On the smartphone front, Qualcomm can't do that, since it sells its chips to a broad base that have variable requirements. I guess it's a tradeoff.
- terramex 6y ago> Apple no longer has to support OpenGL and it can just cut out relevant hardware on the SoC level, leaving more room for other things. Just for everyone who is scared by this statement - macOS on Apple Silicon still supports OpenGL and OpenCL, but it is emulated on top of Metal now.
- soedirgo 6y agoCan you give a source for this? Also, is it still stuck at 4.1/1.2?
- my123 6y agoYep, still OpenGL 4.1 and OpenCL 1.1. It goes through AppleMetalGLRenderer on Apple Silicon Macs. You might want to look at: https://www.phoronix.com/scan.php?page=news_item&px=Zink-macOS-OpenGL-Vulkan https://www.phoronix.com/scan.php?page=news_item&px=Zink-mac... though. Maybe there'll be more interest for a direct OpenGL to Metal layer not built by Apple in the future, for having a newer feature set.
- tonyedgecombe 6y agoThere is a cost to that though, the reality is Windows has become rather bloated because MS can't let anything go. It doesn't help that they have never been able to say no to anything and everything getting included.
- eganist 6y ago> because MS can't let anything go. To be clear, this isn't really up to them. It's what market forces have dictated. Tons of old corp apps exist all over the place that necessitate this level of backwards compatibility.
- blackrock 6y agoOne crazy thing I read about, was of a bug from some 3rd party company’s application. On some Windows update, the application no longer worked. But since Microsoft wanted to ensure a seamless transition during upgrades, they changed their OS code to perpetuate the bug from that application, to allow it to continue working. Kudos to them for doing so.
- watermelon0 6y agoThat's nice of them, but it does needlessly bloat OS code, specification, and tests. In the long run, clear specification and implementation is a lot more desirable, than needing to support various hacks and workarounds for 3rd party software.
- danaris 6y agoIt's totally up to them. If Microsoft wanted to, they could say tomorrow that Windows 11 will no longer maintain backwards compatibility with X, Y, and Z ancient technologies. This would anger some of their corporate customers. Possibly even enough that they could get together and fund some kind of Windows Legacy effort. But realistically, if Microsoft decided to stop being backwards-compatible, where are their customers who are stuck with ancient Windows software going to go? Macs? Linux? Neither of those will have the kind of guarantees their purchasing departments require for compatibility. Maybe, just maybe, if Microsoft stopped supporting everything ever written for one of their OSes, some of the godawful legacy cruft would actually have to be replaced by new software, and some poor corporate IT people's lives would improve immensely...
- socialdemocrat 6y agoIt is always a trade off. Prioritizing backwards compatibility does not come for free. One result I see from this is that MS keep creating new APIs whole old ones languish in obscurity. On Macs in contrast Cocoa is part of a lineage all the way back to the 1980s. I can still use Objective-C skills I learned even before macOS X was released. The same cannot be said for Windows. Nobody in their right mind writes Win16 or Win32 apps today. So ironically the backwards compatibility MS offers it users come at the expense of backwards compatibility for developer skills. When you ban breaking changes in an API you also stop that API from modernizing and staying relevant.
- andrekandre 6y ago> So ironically the backwards compatibility MS offers it users come at the expense of backwards compatibility for developer skills. im not sure this follows necessarily: whats to prevent ms from say, writing a wrapper that packages up said legacy apps and supplies the libraries they need, so they can keep running and ms can still dump thier old frameworks and stop supportimg them in newer os's? basically, what im saying is, for legacy apps, they can be "bottled up" and still run on newer systems without harming developer compatibility and modernizing (wine proves this imo) but maybe im missing some important detail...
- pjmlp 6y agoWe surely do write Win32 applications, which is one of the reasons why UWP failed and now Project Reunion is bringing the best parts of UWP into Win32. .NET 5 was also only released for Win32, Linux and macOS, UWP will get an update only later next year, if ever.
- amelius 6y agoNot being backwards compatible is a huge pain, but Apple can (somehow) afford to put that burden on developers.
- IshKebab 6y ago> but I can run all old versions of Android apps on an Android 11 phone Mostly. They've done a pretty good job of maintaining backwards compatibility but it isn't perfect. E.g. there's no way to access the old hardware options button anymore. You also get a warning popup if you try to run old apps. I just tried running an old app I wrote and it freaked out a bit with the layout, jittering all over the place initially. But other than that it mostly worked.
- valuearb 6y agoI started developing iOS apps for iOS 5, and me my first apps still run on iOS 14 unchanged. Not sure what you are on about?
- lern_too_spel 6y ago32 bit apps don't run on iOS 14.
- tbodt 6y agoThey added 32 bit x86 support to Rosetta apparently just to get CrossOver to work. This could be a reason for them to never remove Rosetta. Maybe they'll just remove the x86 userland.