The biggest bug for me in OS X is the lack of emphasis on backward compatibility. I can pick up a copy of Windows 8 today and it will still run SIMCITY.EXE from 1992. A month ago I had to upgrade my entire operating system (and lose a ton of customizations I had made) because the new XCode wouldn't run on my two year old Macbook.
Agree++. I used Macs for a few years (SE/30, PB180) but software I paid good money for kept not being usable, and my favorite piece of software of all time (HyperCard) was dropped from the O/S. Forcing my software to become obsolete is the primary reason I stopped using Macs.
Many in this sub-thread point out developers were warned. I'm thinking as a user:
I continue to use Quicken 2000 that I bought in late 1999 on a Windows 7 system I bought last year. I know with MS that I can buy a piece of software and will be able to use it a decade or two from now if I want, without having to pay for upgrades I don't need.
I have a box full of Mac software that cost me hundreds of dollars. Completely useless and without value. I have no such box of useless Windows software (though to be fair, I've bought less after having been burned so badly buying Mac software 12-18 years ago).
You're definitely not going to be able to run a MacOS executable from 1992. There is less backwards compatibility in OS X compared to Windows, but to claim there is a lack of any emphasis on it is to forget the ability to run Classic in OS X, the transitional Carbon API for porting old apps to the new platform, the Rosetta runtime that ran PowerPC apps on Intel processors, and so on.
Granted, Apple isn't interested in maintaining 20 years of compatibility, so these features are no longer supported. However, they served their purpose at the time of their usefulness.
Xcode might be considered unique in that it targets Apple's latest platforms for development, so it's not necessarily surprising that it doesn't support an older version of OS X. I assume you were running Snow Leopard, which came out nearly four years ago.
I'm not sure why you bring up Classic, Carbon, or PowerPC. Rosetta was dropped from Lion (two releases ago) and support for Classic was dropped when Rosetta was added. MS Office 2008 (I think it was) stopped working with OS X Lion (2011) because the installer executable contained PPC code. Not very many people need or expect 30 years of backwards compatibility. They just want more than 3.
> I'm not sure why you bring up Classic, Carbon, or PowerPC.
Because it's not true that Apple doesn't emphasize backwards compatibility. I also pointed out that once those technologies outlived their usefulness, they were no longer supported, and that there is indeed less backwards compatibility than Windows.
By the way, Office 2008 ran on Intel Macs. You're thinking of Office 2004, which was PowerPC only and ran for 7 years before OS X Lion dropped Rosetta.
Macs transitioned to x86 in 2005, with Apple repeatedly warning developers to GTFO of any PPC code they have ASAP. MS Office 2008 released years later still containing PPC binaries, and support from the OS was finally yanked in 2011, six years after the switchover.
This seems pretty reasonable. What is unreasonable is that MSFT continued shipping deprecated code as the newest and greatest, long after any reasonable update cycle.
To be fair to Microsoft, they weren't the only ones. App developers were warned for years since OSX's first release that Carbon was a transitional API that would be deprecated in favor of Cocoa. This was in 2001. Adobe steadfastly refused to update, and in 2007 Apple stripped 64-bit support from Carbon-based apps as a beating stick to get major developers like Adobe moving. It worked.
From everything I've seen developing both OSX and iOS apps, Apple gives plenty of notice between deprecating functionality and actual removal of binary support (from the above examples, six years).
Compare with my days developing Windows software, where developers knew well that Microsoft had zero teeth behind API deprecations, and will shamelessly keep using it for eternity, making future backwards compatibility efforts ever more painful - you will find code written in 2008 that uses functionality deprecated in the late 90s!
He didn't say that Office 2008 didn't run on Intel -- he said that it ran on PPC, which it did. 2004 was PPC-only, 2008 was a universal binary, and 2011 is Intel-only
That very well may have been a factor. However, Apple engineers have publicly stated that for them to continue supporting PowerPC Macs would have required developing and shipping system APIs targeting a processor they hadn't sold in over half a decade. I think Rosetta's number was up regardless.
That's forward compatibility, not backwards compatibility. Will the SimCity being released next month run on Windows 3.1? (Of course not, that's an intentionally extreme example, but you're fundamentally talking about two different things -- new app on old OS vs. old app on new OS).
You're right, bad example. A better example is that I spent a decade on VC++ 6.0 without upgrading and could still build software and use SDK's for and from future versions of Windows.
On OS X it started with wanting to test an iOS 6 feature, which required the new simulator, which required the new SDK, which required the new XCode, and before I knew it I was upgrading the entire operating system.
I'm not sure if you're aware of it, but Apple isn't on the PowerPC or MC68k arch anymore. Would you expect them to continue supporting apps that were made to run on the PowerPC & Motorola 68k chips too?
> there is no technical reason why the latest iPhone SDK cannot run on Snow Leopard.
How exactly you know that?! Maybe new SDKs (that are compiled to run on x86 for iOS Simulator) use ARC exclusively which doesn't work properly on Snow Leopard. It makes sense to do so now that ARC's been out for a couple years...
What application released two years ago isn't running on Mountain Lion today? The only one I could think of would be Xcode.
> there is no technical reason why the latest iPhone SDK cannot run on Snow Leopard[0].
Snow Leopard was released in 2009. Just because something can be hacked to run on an unsupported platform doesn't mean you won't encounter an issue. It's not just about dropping a platform as a target; it's also the fact that it won't be officially supported (meaning no guarantees or bug fixes), Apple's engineers won't be going out of their way to make sure the SDK and the simulator run, and they won't help you with technical support. If it does work, and there aren't any known issues (which I doubt), it's a happy accident that could break with any update.
My Quicksilver app hasn't changed since 2008. It's an old app but it still works being 5 years old. Maybe you're running poorly built apps and you should be complaining about shoddy developers instead of a shoddy operating system.