Wednesday, August 09, 2006

Leopard Preview Revisted: 64-bit and why it's a big deal

Apple released Xcode 2.4 today. This release fixes a number of things, and adds some features, all detailed in the Release Notes, ADC account required. The part that I want to call attention to is the new 64-bit support in Xcode 2.4, as detailed in the release notes:
Xcode 2.4 adds support for 64-bit Intel development, with support for creating four-architecture Universal applications (32 and 64 bit for both Intel and PowerPC).
Now the pieces of why 64-bit Leopard are a big deal fall into place, contrary to what some are saying about it. Here is a quote from the Leopard Preview site:
Leopard takes 64-bit computing to the next level, while maintaining full performance and compatibility for your existing 32-bit applications and drivers.
There will be just 1 version of Leopard, and it will be 64-bit with full 32-bit non-emulated support. It's now obvious that starting with Xcode 2.4, the Universal binary format has been extended to support 32-bit and 64-bit for both PPC and Intel inside the same file, quad univeral binearies! Users don't have to choose between 32-bit or 64-bit, either at the OS or application layers, it's all abstracted from them. The Mach-O object file format has been extended again to great utility. Read more about Mach-O and Fat Binaries on Wikipedia. The differences between MS and Apple on the transition to 64-bit couldn't be more stark, assuming Apple executes as it has with the Intel transition and ongoing PPC support. With MS, I have to "choose" between the compatibility of 32-bit vs. the possible improvement of a 64-bit version, with a lot of downside, as Paul Thurrott reported last year about XP x64, and again with Vista, based on Thurrott's advice for buying a Vista PC. This is a nice quote:
I do recommend x64-compatible chips, but those who upgrade to Vista in the next year or so will likely want to stick with the 32-bit Vista versions for the short term.
Paul's Vista Feature Focus: 64-bit has a Final Thoughts section that I could quote wholesale, it's all germane, but this is the saddest part:
...the x64 versions [of Vista] are also far less compatible than their predecessors, with both hardware devices and software, and these incompatibilities will ultimately make the x64 Vista versions less attractive to most users. Within the next few years, the majority of Windows users will almost certainly move to x64-based PCs. But I'm guessing that the 32-bit versions of Vista will dominate throughout this product's lifetime because of compatibility issues.
No one can say right now whether Apple will be able pull off inclusion of 64-bit as smoothly as they are suggesting until applications start getting compiled and testing using Xcode 2.4 (and later Xcode 3.0) on Tiger and Leopard, but Apple has certainly maneuvered themselves, and their developers, to provided 64-bit support to those users that need it with none of the problems that Windows 64-bit, either XP or Vista, are plagued with. You need only look at how smoothly PPC to Intel was delivered to make some good bets. 64-bit in Leopard is not just an important end-user feature for the Pro community, it's an amazing piece of engineering, and again demonstrates Apple's seemingly unique ability to take complex technical problems and simplify them. Hide all the hard engineering for the majority of users, but with OS X expose it for those that want it. Anyone saying that the 64-bit situation with XP or Vista is in anyway analogous to what is coming in Leopard has blinders on.