Apple is moving forward. Mac OS X 10.7 “Lion” is being previewed, and Xcode 4 has been released.
Both aren’t ready for prime time. I expect that with Lion, but Xcode 4? Well… it’s such a radical change that it’s more like a “1.0” release in many ways. There’s also a lot of “not ready for prime time” issues with it, plus a lot of developer backlash. Oh sure you expect people to hate the new interface, a lot of old-school Mac developers are feeling that the changes are mostly motivated by iOS development and catering to the “switcher developers” (people more familiar with environments like Eclipse). Here’s a great Xcode 4 review.
But the hardest part? What gets left behind.
Xcode 4 does not allow you to target Mac OS X’s prior to version 10.6. While I have no problem with moving forward, for many developers they like to support OS’s as far back as they can because that’s what their users need. This is especially important to people who write software for the education market: one of Apple’s traditional strong markets. The suggestion? Stay with Xcode 3.2.x. Trouble there? Xcode 3.2.6 silently dropped support for targeting PowerPC-based Macs, which still exist tho they can only run at most Mac OS X 10.5 (Apple dropped support for PowerPC-based Macs with Mac OS X 10.6). And so what are developers to do as Apple moves forward? Generally the OS updates and developer tool updates are tied together in some respect, so if we wish to target Lion and take advantage of new things in Lion while still maintaining backwards support as far back as our customer-base needs? Wow… we get left in quite a lurch. The trouble is, it’s a lurch that’s difficult to explain to most users.
It’s a transition time for Apple. Frankly, it also makes business sense to Apple because ultimately if they push developers, developers push their customers, their customers get left behind unless they buy new Macs… and buying new Macs keeps Apple’s bottom line healthy. It is a cycle that benefits us all, despite all the cost involved. It’s just difficult to deal with the transition.
Me personally, I’ve always been fine with moving forward, but I do like to make it gradual. The current Hsoi Enterprises releases all require at least Mac OS X 10.5, with HsoiContextualServices being 10.6 and Intel-only. To drop PowerPC support doesn’t feel horrible to me, just like the true ending of an era. I actually still have some PowerPC-based machines running as servers, upgraded to the latest Leopard… and I’ll keep them in service as long as I can. Apple dropping PowerPC support is fine for Xcode 4, but telling us the way to support “old OS’s” is to use Xcode 3 and then silently crippling Xcode 3 was not a smart move. Hopefully Apple will release an Xcode 3.2.7 that remedies this. Furthermore, it’d be welcome if Xcode 4 could support 10.5, even if Intel-only. I’m not sure it’s technically possible given how much they reworked Xcode 4, but boy it’d facilitate the transition and adoption by developers. If developers can’t move forward, it will ultimately come back to bite Apple because if devs don’t move, consumers won’t move either, which means Apple sits and waits too.
We shall see. The new dev tools are just that: new. Hopefully Apple is listening and will respond.
Updated: I stand corrected. Xcode 3.2.6 actually still does have PPC support, it’s just “disabled” and tries to prefer against supporting it. What apparently you have to do is change the
ARCHS_STANDARD_32_64_BIT macro to explicit
ppc i386 x86_64 and then things will work. I was basing this upon what I was reading in mailing list postings as I haven’t upgraded to Xcode 3.2.6 myself (still on 3.2.5). Bummer it wasn’t documented, but at least it’s still there. Looks like Apple is trying to make a small bump in their desired direction, and this is certainly acceptable.