Metrowerks is not just another company. It pretty much saved Apple's bacon in the 90s by developing world-class programming tools for the Power Mac line. Admirably, Metrowerks bundles its introductory programming software for C, C++ and Java with a complete set of online instructive books and sells the whole package for a very low price. The latest example of this is CodeWarrior Discover Programming, Version 5, designed both for those new to programming as well as experienced programmers interested in learning a new language.

There are two differences between the Discover Programming Starter Kit and the CodeWarrior Professional Edition. One is obvious: price. Discover Programming's list price is an easily affordable $79 (available at most online stores for $49) while the Professional Edition lists for $369. The other difference is in licensing. The Starter Kit licensing agreement does not permit users to distribute programs written with Discover Programming commercially. For users who find that they need permission to commercially distribute their programs, Metrowerks offers an upgrade to the Professional Edition.

To get you started, CodeWarrior Discover Programming provides electronic books including Barry Boone and Dave Mark's Learn Java on the Macintosh, a great source for scores of projects. And, because most people need more than books to learn programming, Metrowerks has coordinated a set of free online courses called CodeWarrior University (
www.codewarrioru.com
). Courses include online interaction with instructors and focus on Mac-interface programming, C/C++, Java language basic, and programming for Windows with Metrowerks tools.

It's hard to make a case for learning Mac programming in anything but Metrowerks' Integrated Development Environment, IDE 4.0, also part of the Discover Programming package. The IDE 4.0 is complete with editor, linker, wonderfully easy-to-use debugger, project manager, and compilers for C, C++, and Java that have become standards for Macintosh programming. In the fast-moving world of Java, this package is current as of mid-2000: Discover Programming supports the Java 2 specification for Java Development Kit 1.2, and JDK 1.1.7 for Apple's MRJ.

By providing everything Metrowerks avoids all Java disputes: on your Mac you can write Java code for Mac, Windows, or Unix applications, browser-ready applets, and JavaBeans (re-usable components). In addition to templates and examples of these options, Discover Programming provides a Rapid Development (RAD) mode which, while not exactly a complete "visual programming" environment, provides wizards and helpful graphical tools for directing component-building.

Despite its tutorials and instructions, learning with Discover Programming can be a bit like learning to swim by jumping into the ocean. For novices, learning in the same development environment used by the pros can lead to spending at least as much time mastering the details of that environment as learning the concepts of object-oriented programming. If your goal is to try little bits of programming in your spare time, you might find it easier to either use
REALbasic
(
www.realbasic.com
) as your introduction or consider writing simple programs in JavaScript. But, if you expect programming to eventually become part of your career plans or you have some programming experience, the Metrowerks approach is your best choice.