• MacTech Network:
  • Tech Support
  • |
  • MacForge.net
  • |
  • Apple News
  • |
  • Register Domains
  • |
  • SSL Certificates
  • |
  • iPod Deals
  • |
  • Mac Deals
  • |
  • Mac Book Shelf

MAC TECH

  • Home
  • Magazine
    • About MacTech in Print
    • Issue Table of Contents
    • Subscribe
    • Risk Free Sample
    • Back Issues
    • MacTech DVD
  • Archives
    • MacTech Print Archives
    • MacMod
    • MacTutor
    • FrameWorks
    • develop
  • Forums
  • News
    • MacTech News
    • MacTech Blog
    • MacTech Reviews and KoolTools
    • Whitepapers, Screencasts, Videos and Books
    • News Scanner
    • Rumors Scanner
    • Documentation Scanner
    • Submit News or PR
    • MacTech News List
  • Store
  • Apple Expo
    • by Category
    • by Company
    • by Product
  • Job Board
  • Editorial
    • Submit News or PR
    • Writer's Kit
    • Editorial Staff
    • Editorial Calendar
  • Advertising
    • Benefits of MacTech
    • Mechanicals and Submission
    • Dates and Deadlines
    • Submit Apple Expo Entry
  • User
    • Register for Ongoing Raffles
    • Register new user
    • Edit User Settings
    • Logout
  • Contact
    • Customer Service
    • Webmaster Feedback
    • Submit News or PR
    • Suggest an article
  • Connect Tools
    • MacTech Live Podcast
    • RSS Feeds
    • Twitter

ADVERTISEMENT
Volume Number: 17 (2001)
Issue Number: 1
Column Tag: Tools of the Trade

CodeWarrior 6

By Tim Monroe

A Look at the Latest Mac Version of Metrowerk's Development Environment

Introduction

CodeWarrior 6.0 (CW6) is the latest version of Metrowerk's popular integrated development environment (IDE) for Macintosh and Windows (and, I believe, the first version to carry the Motorola brand name). In addition to all the standard improvements you'd expect to find in a major release of a professional IDE (bug fixes, greater compliance with existing standards, improved performance, and the like), CodeWarrior 6.0 takes one major step forward: all important parts of the software development environment have been Carbonized, including the IDE itself, PowerPlant (the object-oriented application framework), Constructor, and Profiler. This means that it's possible to do complete application development on "classic" Macintosh operating systems (Mac OS 8.x and 9.x) and on Mac OS X. (CodeWarrior 6.0 also runs on Windows computers, but I did not receive a review copy of the Windows install disk, so I can't comment on how well that new version works.)

Some Test Drives

I first took CodeWarrior 6.0 for a spin on Mac OS 9.0.4. As usual, installation was a snap. The IDE wanted to convert my existing project files for use with the new IDE (version 4.1, for what it's worth). After that, compiling, linking, and debugging proceeded exactly as they did under previous versions of the IDE. The entire CodeWarrior 6.0 suite has received a minor facelift; for instance, the Finder icons are different, and the project window (shown in Figure 1) has undergone some reorganization. (In earlier IDEs, the tabs hung down from the top of the window.)


Figure 1. A project window under Mac OS 9.

Then I decided to get brave. I usually like to develop Windows versions of my applications using the Mac IDE. I didn't have the Windows IDE, but the Mac installation still includes compilers and linkers for x86 development. Once again, my existing Windows projects compiled and linked flawlessly (after allowing the IDE to make the necessary project conversion). CodeWarrior 6.0, however, uses a different method for specifying the remote target for two-machine debugging. Under previous versions, you could specify only a single remote target for all projects, in the IDE Preferences window (Figure 2).


Figure 2. Setting a remote debugging target (CW 5).

Under CW6, you can define any number of remote targets in the IDE Preferences window (Figure 3). Each individual project can then specify which one of those targets to use for any particular debugging session (see Figure 4). This is a very nice enhancement.


Figure 3. Setting remote debugging targets (CW 6).


Figure 4. Specifying a remote target.

Pedal to the Metal

Finally, I decided to get really brave and run the IDE under Mac OS X. I installed the Public Beta version of OS X on an external hard drive, booted up, and then launched the IDE. I must admit to having had a certain trepidation as the IDE launched, but my fears subsided as the project window opened and greeted me with its jaunty Aqua appearance (Figure 5).


Figure 5. A project window under Mac OS X.

Once again, the project compiled, linked, and ran flawlessly. Moreover, remote debugging between the Mac OS X machine and a machine running Mac OS 8.6 worked just fine. What did not work at all was local debugging - that is, trying to step through the code on the Mac OS X machine itself. (I kept getting a network timeout error; go figure!) After trolling the comp.sys.mac.programmer.codewarrior news group, I discovered that I needed to perform the Codewarrior installation while running Mac OS X. Once I did that, local and remote debugging worked as expected.

CodeWarrior 6 running on Mac OS X seems to be a fairly solid and stable product, at least in my preliminary tests. As is to be expected, there are some cosmetic glitches. Figure 6, for instance, shows a dialog box in which some of the text is clipped. All in all, however, I was pleasantly surprised at how well the product performed, especially considering that it's running on a beta version of a brand new operating system.


Figure 6. A dialog box with clipped text.

Conclusion

Should you upgrade to CodeWarrior 6.0 from an earlier version? For most Mac programmers, this is a no-brainer: sure, stay up to date with the latest and greatest tools. This is especially true if you want to get your product working under Mac OS X or you want to do your software development under Mac OS X. You can develop Carbonized applications using CW5, but not under Mac OS X. For the complete Carbon story, and especially for local debugging under OS X, CodeWarrior 6.0 is the way to go.

Some developers, however, might want to hold off making the leap to CW6, even though it's a fairly tiny leap in terms of code changes. If you're deep into a project that uses CW5 or earlier, you may want to finish that project before moving forward. After all, since the compilers have become more compliant to the ANSI standards, some of your existing code might get signaled as non-compliant (especially if it is non-compliant). In my own projects, I didn't encounter any such problems, but of course your mileage may vary. In my mind, the ability to specify remote debugging targets on a per-project basis is worth the price of upgrading all by itself.


Tim Monroe is a software engineer on Apple's QuickTime engineering team. You can contact him at monroe@apple.com. His opinions, of course, are his own and not those of his employer.

 
MacTech Only Search:
Community Search:

 
 
 

 
 
 
 
 
  • SPREAD THE WORD:
  • Slashdot
  • Digg
  • Del.icio.us
  • Reddit
  • Newsvine
  • Generate a short URL for this page:



MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797
MacTech is a registered trademark of Xplain Corporation. Xplain, "The journal of Apple technology", Apple Expo, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, Apple Expo, MacTech Central, MacTech Domains, MacNews, MacForge, and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.
 
Nov. 20: Take Control of Syncing Data in Sow Leopard' released
Nov. 19: Cocktail 4.5 (Leopard Edition) released
Nov. 19: macProVideo offers new Cubase tutorials
Nov. 18: S Stardom anounces Safe Capsule, a companion piece for Apple's
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live