Metrowerks' Swan Song: The Final Release of CodeWarrior for Macintosh
reviewed by Jonathan Hoyle
Freescale Developer Technology Organization
Released: October 31, 2005
Metrowerks CodeWarrior 10
$99 for the Professional Edition, FREE for the Learning Edition. Available via
Requirements: Mac OS X 10.2.8 or later, a Macintosh with a PowerPC processor, G3 or faster (G4 recommended), 128 MB of RAM, 800 MB hard drive space.
Audience: Software developers still using Metrowerks CodeWarrior.
Strengths: Fast, easy to use, best PowerPC compiler.
Weakness: No 64-bit support, cannot debug on Intel-based Macintoshes.
Those who have been developing software for the Macintosh these past 12 years are already well familiar with Metrowerks CodeWarrior. CodeWarrior had been the dominant C/C++ compiler for Mac development until very recently, and there remains a large number of projects built with CodeWarrior even now. Due to extraordinary shortsightedness on the part of Freescale, Metrowerks' parent company, CodeWarrior has gone from dominant marketshare to product cancellation in only two short years. With this version, CodeWarrior 10 for Mac OS X will be the final release of this great product. Those still using CodeWarrior will find this upgrade to be one of the best values ever released by Metrowerks. Normally $499, this final edition of CodeWarrior is being sold for an unbelievably low $99. The Academic version, normally $199, is being given away free.
However, this release is being made only for a limited time: Metrowerks plans to discontinue sales of CodeWarrior for the Mac in the spring of 2006.
Despite Apple marketing on Xcode, CodeWarrior remains the fastest, most optimal C/C++ compiler available on the Mac. It is also the only viable compiler that can simultaneously target Mach-O, CFM/PEF and Classic. A number of welcome new features are available in version 10, including text-based XML projects, better Packager support, better C++ template specialization support and a number of MSL updates for cleaner development.
Some of the most exciting changes are with PowerPlant, Metrowerks' native application framework. With CodeWarrior 10, PowerPlant users will now be able to directly access .nib files created with Interface Builder. In addition, PowerPlant is now more HIV savvy, with wrappers available for more modern Carbon classes.
In one of their biggest announcements, Metrowerks will be releasing PowerPlant, PowerPlant X and Constructor into the Open Source community. This allows current users to take their PowerPlant projects with them if and when they emigrate to Xcode. With the huge number of PowerPlant projects in the Macintosh community, this announcement makes the future of these products much brighter.
Introduced with CodeWarrior 9, a copy protection file, named license.dat, is created whenever you install CodeWarrior 10. After installation, you are prompted to enter your registration number on Metrowerks' web site to obtain a license key, which in turn must be entered back into the application. Without this license key, CodeWarrior drops into demo mode. Problems appear when you try to do install CodeWarrior 10 a second time, say when on an upgraded machine or laptop. Entering your registration number on the Metrowerks web site a second time returns an error, telling you that this number has already been registered. You then have to go through Metrowerks support, and it becomes quite the hassle. Metrowerks' recommendation is to back up your license.dat file, and after each reinstall, copy this file back in manually, overwriting the installed license.dat.
Another disappointing aspect of CodeWarrior 10 is what it lacks: G5 and 64-bit support. This is probably a small matter, now that Apple has announced its decision to move to Intel processors. Since neither G5-specific nor 64-bit applications will run under Rosetta (the PowerPC emulator on the Intel-based Macintoshes), it seems a moot point now. However, it would have been a nice option to allow the PowerPC programmer to take full advantage of the G5, even if it meant it would not run on Intel.
Although CodeWarrior 10 does install and run on Intel-based Macintoshes (under Rosetta emulation), you cannot debug with it. This is primarily due to the fact that Rosetta applications cannot talk to Apple's Intel-based gdb debugger. This limitation is not specific to CodeWarrior, as it arises anytime you wish to debug Rosetta emulated apps (including Apple's own Xcode). This unfortunately narrows the usability of CodeWarrior. Developers will have no choice but to plan an emigration strategy to Xcode at some point.
For those who still have CodeWarrior projects to maintain, this final release from Metrowerks is a must have. It is reasonably priced and will allow a smoother transition to Intel for when the time comes.