You can't come now and whine that Apple changes UI frameworks too often.
You can't come now and whine that Apple changes UI frameworks too often.
In the GUI front I had to work on Win32, MFC, WebForms, Silverlight, XAML and WinRT.
I've been trough two DirectX breaking upgrades where we had to rewrite pretty much everything that touched the API because of deprecations.
Sure, old things keep working for users, but if you stick with ancient technology it gets way too hard to hire developers.
I'm not complaining though: I love writing code and upgrading things is a breath of fresh air. Every Microsoft API was significantly better than the one preceding it, IMO.
For me, the truth is somewhere in the middle. Yes, there is more churn on Apple platforms. On the other hand, it also allows Apple and the ecosystem to move faster. It is amazing what they have been able to achieve with (just naming some random things): wide Touch ID support, Metal, or application sandboxing.
Plus you can keep using your C++ core even if the UI is Cocoa. The same applies to Swift, you can write or rewrite parts of the app in Swift and keep part of it in C++/Rust/Objective-C or your preferred language.
The same happens in SwiftUI, you can mix it with NSView and UIViews.
Microsoft and Linus have a specific fanatical attitude about the installed base of existing apps. Apple simply does not.
Contrast this with Windows, where browsing through system settings is like going back in time from Windows 10/8 to XP to 95 all the way to 3.11, if you click "Advanced" enough times.
Some Windows applications (especially installers) pop up dialogs that don't support anti-aliased fonts. It gives an impression of an OS with wildly inconsistent GUI and legacy garbage all over the place.
This isn't FLOSS.
You should keep a few replacements in reserve in case some minor component fails.
But at any rate I'd assumed that for someone who had "nostalgia" for old games would therefore have played those old games and thus had that system, and thus could just have kept it around as a disk image. I have Mac OS disk images going back to the beginning, it was by far the best way to install anyway because it was so much faster than actually going off the disc (the ease and customizability of network installs was also wonderful, I miss that). For really old stuff you can just emulate it via something like SheepShaver, no need for VM at all. I actually find that's the same as Windows, for all its vaunted backwards compatibility I had the damndest time getting some old games working under W7 even and it was much, much easier to just keep some VMs around cover 98, 2000, and XP. Those are old enough there is full virtual 3D support, even without hardware passthrough.
If you really wanted an old copy of 10.5 or 10.4 or whatever directly despite having not used/kept them, and you didn't want to get it off the net, you could just ask around a Mac site or buy a DVD. A quick look on Ebay shows tons for sale for $10-20, it's not as if they are some rare collector's item. And if you went on some Mac forum and just asked there'd be people with images like me or old discs just sitting around in closets collecting dust you could have for a stamp. It'd be a one-time issue, because then you'd immediate image it and keep it forever since they aren't big (looks like my Mac OS X Server 10.6.dmg is about 6.95GB).
10.5 supported x86 out of the gate.
I think you mean "obtained a license to use" ;)
While you did purchase the license, (IANAL) I don't think Apple is legally obligated to produce the original software for which you obtained a license for, at least per the license agreement[0].
0: https://images.apple.com/legal/sla/docs/osx_snow_leopard_sec...
Note why we know this. We know this because those legacy dialogs are useful and no one could be bothered to rewrite them with new GUI toolkits. Probably someone would write new dialogs if the old ones were forced to die. Probably the replacement would even be more convenient. Or probably not (on both counts).
The kernel not breaking userspace is quite a different thing, and in particular when comparing the macOS kernel and Linux because Linux specifically has a stable ABI and macOS doesn't. On macOS it's libsystem that provides the stable abi and kernel interfaces change underneath.
Beyond the kernel API's and libsystem you have the actual platform interfaces. Carbon is a deprecated framework and has been for a long time. If apps are using carbon then they must get updated, Apple has been warning about this since 2017 (beyond just the depreciation notice in 2012 and everything in between).
And Windows95 apps almost certainly do not run unmodified... it's been awhile and things may have changed, but as I recall in XP (sp2, even?), they introduced the thing to run an app in compatibility mode and you actually select which is version to be compatible with. This works in some cases and not in others. Not to mention win32 support has held back Windows stability and progress for a long time.
Do you just like the way it looks and feels? Is there an essential program that you use that need El Cap? Are you using a 2008 MacBook?
I'm not being critical. I have to run Jaguar on a dedicated machine I keep in the closet for a niche reason, so I'm curious what problem you face.
Interestingly, Carbon still pops up here and there, even in programs from large companies with tons of resources like Adobe.
The giveaway is when you ask it to do something hard and instead of getting the SPOD, you get the watch icon.
It was deprecated in 2012. In 2017 with High Sierra they announced that carbon apps would require changes to work at all.
https://www.macrumors.com/2007/06/13/leopard-drops-carbon-64...
Archive.org records the wailing and gnashing of teeth which accompanied the relatively sudden announcement:
https://web.archive.org/web/20140115143937/http://lists.appl...
https://web.archive.org/web/20140115112428/http://lists.appl...
You can still find developer documents in Apple's archives referring to a 64-bit upgrade path for Carbon apps.
https://developer.apple.com/library/archive/documentation/Ca...
That's why they have drink-themed names to fit with Java. Porting a classic Mac app to Carbon was called "Carbonization."