|
The CodeWarrior series of products are probably new to most readers of PC
Update. Developed by Metrowerks, they are of particular interest to professional programmers, since they
provide an Integrated Development Environment (IDE) for software development across a range of
platforms, including Windows 95, Windows NT, Mac OS and others. Support is also given for many common
languages, such as C, C++, Java and Object Pascal.
Although the IDE eases the burden of changing to a different platform, this review will be deliberately
biased toward its use under Windows 95 and, to accommodate my programming limitations, will assume Pascal to
be the language of choice. Fortunately for me, the Pascal provided is virtually identical to the Turbo Pascal
with which I am already familiar.
The early days
I had two difficulties while preparing myself to undertake this particular review. First, the amount of
printed documentation which comes with CodeWarrior is limited to one QuickStart manual of 40 pages, which is
sparse indeed, bearing in mind the complexities of modern-day programming. Fortunately, the software is
supported by a huge volume of online material, claimed to be over 10,000 pages. I felt it necessary to print
out and study at least a proportion of the key documentation before I became comfortable with the reviewing
task.
The second difficulty arose after I had installed the software ready for familiarisation and review. I had
already registered the product with Metrowerks on the Internet. Almost exactly two weeks after doing so, an
airmail package arrived from Austin, Texas with Release 2 of the software provided on three CD-ROM discs. So,
do I review Release 1 or Release 2 or both? As I found that there were some major improvements in Release 2,
I decided to remove Release 1 from my hard disk (all 300 MB of it) and install Release 2. Herein lay the
first improvement - only 161 MB needed, although part of the pruning was due to the IDE being set up without
its Help files.
The package
Release 1 of CodeWarrior Professional is a new edition of CodeWarrior which combines the previously
self-standing Mac-hosted and Windows-hosted versions. Three CD-ROMs provide, in addition to the
IDE:
- Windows 95/NT Tools and Reference
- Mac OS Reference
- Mac OS Tools
R elease 2 is contained on three CD-ROMs also, but with the material
distributed rather differently. The essential change for Windows 95-based installation is that a second disc
contains the Windows-related reference material. Even more online documentation is included with this upgrade
than for Release 1.
The documentation
The material is made available in a number of formats. For Windows use, it is variously available in the
standard WinHelp (HLP), Acrobat (PDF) and HTML formats. To accommodate HTML browsing, a copy of Internet
Explorer is provided.
The core documentation is the IDE User Guide, the Debugger User Guide and four Acrobat-based
tutorials in interactive slide-show format to familiarise you with the IDE and its major components.
Then there are Language and Compiler manuals. For example, for my Pascal needs there is a Compilers
Reference, an Error Reference a Pascal Language Reference and a Pascal Library
Reference, all in PDF format.
Targeting manuals tell you what you should know about developing code for your selected platform. For our
needs, therefore, there is a Targeting Win32 manual for the Win32 platform. This shows the use of the
supplied Win32/x86 compiler, linker, resource compiler and debugger to prepare a variety of Win32-based
projects, including applications, static libraries and shared libraries (DLLs). A copy of the Win32 SDK
Reference from Microsoft is also included.
If you are not happy with the online access to the information, both language and targeting manuals can be
purchased separately as books. Unfortunately the online format for the major books does not permit printing
out from the Acrobat reader.
The Metrowerks Web site includes, among other things, some additional books such as Programming Practice:
Pascal (486 pages) and Principles of Programming (526 pages). These are also in Acrobat format and
in these cases permit printout.
|

Figure 1. CodeWarrior IDE showing Editing Window and Project Window
|

Figure 2. Pseudo Web site using MS Internet Explorer with a resident HTML
file
|
Running the IDE
When you launch CodeWarrior, you initially see a 6-menu bar at the top of the window with a 21-icon global
toolbar immediately below it. The remainder of the screen is unused until such time as you create a project,
manage its files, build your project, create your code, compile, link and debug it and so on. So if you are
new to programming, you will have a steep learning curve. However, if you have programming experience, it is
more simply a matter of becoming familiar with the development tools which you will use to create your
projects.
The Project Manager and Editor
These are two of the major development tools which you use from within the IDE. The Project Manager holds all
the files that you need for each specific project, which you gather together into an .MCP file which you name
to identify individual projects. Some basic project files are available which contain start-off files for the
particular language you will be using.
All files are managed from within the Project Manager. You will, of course, be spending most of your time
preparing your source code, for which you use the Editor, but you would normally save each file within the
Project Manager so that it can be compiled and linked, although such files can be added later if necessary.
You set the link order from within the Manager and you can compile just a selected file from a project if so
required. You can also force a file to be compiled the next time you build a project (you touch the file) and
you can also untouch the file to avoid its compilation.
You can have multiple projects open at the same time and create multiple builds of the same project.
The Editor uses syntax colouring and styling and has code-navigation shortcuts.
The Debugger
Another major component of the IDE, the debugger allows you to watch source code execute on a line by line
basis and view or edit variables to track down any problems with the project. It can actually be operated
independently of the IDE, in which case you would open a symbolics file (.SYM) to debug the project
associated with it. From within the IDE, you simply enable the debugger to launch it and open the
Program and Browser windows.
You control the debugging by using commands on the toolbar (also available on the Control menu). Naturally,
you can step through your program, set break-points and view the values of registers and variables. The
debugger works in any of the supported languages.
|

Figure 3. Acrobat-generated text from a book "Building Windows 95
Applications"
|

Figure 4. Metrowerks' true Web site
|
Technical support
Registration of CodeWarrior entitles the user to 12 months free technical support. I am able to vouch for
the effectiveness of this support (in my case, at least). It so happened that when I was checking on the
Guided Tours available with Release 2 I found that the Project Manager sample (.MCP file) which is used
for all four Tours generated an Unknown Error message and would not load either directly from its
CD-ROM, or from a copy created on the hard disk. So the Tours could not be completed. I reported this to
Metrowerks by e-mail and received an acknowledgment and reference number within 24 hours. After a further 24
hours I received a detailed reply, suggesting the project file may not have been properly updated. A
replacement was created by Metrowerks and supplied as a ZIP file. This worked fine and all the Tours then ran
smoothly. Problem solved in quick time.
Conclusion
Once I had completed the formidable task of studying a sufficiently large sample of the documentation to
properly grasp how to create and complete a project using the IDE, I found the interface fairly simple to
use. In my case, I would need yet more time to fully appreciate the MFC libraries for building Windows 95
applications, for example, but the tasks of creating simpler projects from my Pascal code were completed
gracefully. The IDE is speedily responsive and you have all the tools you need at your fingertips. For the
busy full-time programmer the support for multiple open projects, multiple targets per project, sub-projects
and threaded execution will be a boon.
CodeWarrior Professional is well worthy of serious consideration by professional programmers.
Reprinted from the February 1998 issue of PC Update, the
magazine of Melbourne PC User Group, Australia
|