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).
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.
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!
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.
Then, IBM bought Transitive and discontinued the PPC->Intel translation engine.
Apple did not have the option to continue shipping Rosetta, because IBM axed the team that would have had to update it for Lion.
To support only applications that existed prior to the Intel switch, they wouldn't need to back-port new APIs.
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.
there is no technical reason why the latest iPhone SDK cannot run on Snow Leopard[0].
this is purely apple forcing users into the upgrade cycle and everything that comes with it - the App Store, code signing, etc.
[0] it has been backported and works. see: http://stackoverflow.com/questions/9613565/is-it-possible-to... amongst others. It is as easy as copying the library over.
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.