CodeWarrior includes support for the usual roster of GNU development tools included with Linux, so no special development tools are required. Furthermore, the product includes a full set of rapid application development (RAD) tools for prototyping and delivering Java applications and it features an open architecture that supports third-party plug-ins, so CodeWarrior's functionality can grow as your development needs evolve.
We installed CodeWarrior on a Dell PowerEdge 1400 running Red Hat Linux 7. After mounting the CD-ROM, we had to execute an installation shell script, which prompted us to select which CodeWarrior components we wanted to install. Components are grouped into four categories: general, editor, debugger, and RAD tools. Each category, in turn, has subpanels, each of which has a variety of configuration options. Once we'd made our selections and installed the app, CodeWarrior was ready for use with no additional configuration necessary.
The product's X-based IDE has a Windows feel by default, with numerous drop-down menus and index tabs. Alternately, you can opt for a Macintosh-style menu bar instead. CodeWarrior lets you change many IDE presentation parameters to streamline your workspace.
As with Visual Studio, applications in development are called projects. CodeWarrior creates a project file that contains information on the source code and supporting files included in the project, as well as compilation instructions. The project file also tracks specific options for different build levels. For example, when compiling a test C application, we chose link-specific options for both a debug and a release level; the debug level included debugging support (by selecting the -g option) while we stripped the binaries (by selecting -s) during the link stage of the release version.
One of CodeWarrior's most impressive abilities is its File Compare function. With this feature, you can compare two files on the screen side by side; differences between the files are color-coded to indicate changes, deletions, and additions. Not only can you compare a new project file against an older one, but you can also choose to selectively apply the textual differences between files to either file.
Java developers will fall in love with CodeWarrior's interactive debugger, which lets you step through a Java application interactively and inspect the current values of variables and processor registers. A separate window displays a list of procedural calls the applet has made, so the developer can determine whether an application is making the appropriate function calls as it executes. Java developers will also appreciate the application's class browser that allows for graphical navigation through an application's code.
At certain points, CodeWarrior's X interface performed erratically; typed text sometimes appeared in a spot other than next to the blinking prompt. However, such glitches were fairly rare, more minor inconveniences than showstoppers. The product includes a built-in text editor for editing program files, and while we would have preferred to use emacs, we found the built-in editor very flexible.
However, we were disappointed with CodeWarrior's Makefile Import wizard, which reads a makefile generated by another application and automatically converts it into a CodeWarrior project. This feature could potentially save hours of re-creating existing projects in CodeWarrior. Unfortunately, we found during testing that the wizard could successfully migrate only small makefiles--larger or more complex makefiles, especially those involving projects within subdirectories, wouldn't migrate at all or caused the CodeWarrior IDE to crash.
CodeWarrior is a terrific product for any application developer looking for a Visual Studio-like IDE for a Linux environment. Developers in the Microsoft arena who want a similarly robust development environment for Linux should seriously consider purchasing this product. CodeWarrior is listed at $149 but is widely available for less.