4 ms·
Having tracked API changes fairly closely on macOS and iOS for many years now, I can’t think of too many that were just pointless furniture shuffling. Nearly al
by jwells89 3y ago
Having tracked API changes fairly closely on macOS and iOS for many years now, I can’t think of too many that were just pointless furniture shuffling. Nearly all of them were to enable addition of new features or to improve developer QoL in some way — dropping 32-bit support for example allowed them to make long desired improvements in AppKit that were impractical prior due to quirks in the way Objective-C works.
That said I also don’t think it’s a reasonable expectation for old binaries to continue to work indefinitely. Maintenance is a reality of life of a software developer, and personally speaking if I found myself unable or unwilling to do quick spot checks on each platform my apps run at least once a year, I’d just drop support for those platforms or discontinue the app.
That’s not to say that Apple is blameless here, but I think Microsoft has set an unrealistic standard (while also making some things much more difficult for themselves… Windows on ARM for example will never materialize so long as developers expect to be able to toss a binary over the wall and abandon it for a decade, because no matter how good an x86 compat layer is, it’s still significantly worse than native).
- kmeisthax 3y agoWindows on ARM will never materialize because Qualcomm can't make compelling hardware for it to run on. Keep in mind that the M1 at launch was as fast as a lot of Intel's lineup running emulated x86 apps. That's what Qualcomm needs to be able to pull off. If the performance is there then people will buy the laptops. That changes the developer story from "please recompile and retest your apps so they'll run on laptops nobody's buying" to "if you recompile your app it'll run 20% faster on this already screaming fast laptop chip".
- jwells89 3y agoProficiency in emulating x86 is just one piece of the puzzle, though. It helped drive M1 adoption to be sure, but users also had a lot of confidence that developers would pull through and provide native binaries in a timely manner, catapulting the capabilities and battery life of their shiny new laptops even further. Apple and third party Mac devs had pulled it off twice already, so there was good reason to believe that they’d do it again. If the new Qualcomm chips have good performance, it’ll drive sales initially, but enthusiasm will fizzle if 2-3 years down the road developers aren’t making meaningful efforts to port their Windows versions to ARM, because a Windows on ARM device running mostly emulated processes is almost certainly going to fall behind M-series Macs running mostly native in performance and battery life. If Qualcomm can’t keep up substantial performance improvements on a yearly cadence, they also risk getting lapped by traditional x86 machines.
- jmholla 3y ago> but users also had a lot of confidence that developers would pull through and provide native binaries in a timely manner, catapulting the capabilities and battery life of their shiny new laptops even further. Yea. There was a real concerted effort by not Apple employees to get all these *modern* tools working on M1s. I remember at the company I was at, a small handful of engineers working diligently to get our internal dev software and processes working on M1s.
- sunshowers 3y agoIt's important for platforms to support works of art indefinitely. It is not reasonable to expect, say, decade-old games to be updated (something that can involve weeks or months of work because underlying toolkits may need to be updated as well). This was a huge issue when Apple killed 32-bit support. Moves like this destroy trust within communities.
- BeFlatXIII 3y agoThat's how platforms are killed by neglect. They become locked into their old forms and become replaced wholesale instead of evolving piece by deprecated piece.
- sunshowers 3y agoI think there are many other solutions, such as producing a Wine-like layer in between. But that requires active effort and commitment.
- dig1 3y ago> That said I also don’t think it’s a reasonable expectation for old binaries to continue to work indefinitely. Maintenance is a reality of life of a software developer, and personally speaking There is a fine difference between keeping old binaries running and maintaining your application. I don't expect certain applications to be maintained, but I expect them to run on newer versions of OS for many years. If you think this is impossible, Apple can learn a lot from Microsoft and Linux. And IMHO, Microsoft didn't make unrealistic standards. One of the reasons why Windows has been the most dominant OS for years is exceptional backward compatibility.
- judge2020 3y ago16 bit support got dropped from Windows over a decade ago. It's not like macOS drops things at random, Monumental architecture changes are good reasons to break any apps that hadn't been touched in x years.
- hyperdimension 3y agoNo, it's still there in the 32-bit version of Windows (10, anyway.) Windows 11 doesn't support 32-bjt, so I suppose you could say it was dropped then, but Windows 10 is still supported.