Java IDE Review
Volume Number: 12
Issue Number: 8
Column Tag: Javatech™
Two Java Environments Compared 
It just started brewing so it might be a little weak
By Marty Wachter
Because developments in the Java world refuse to pause for us, with toolmakers rushing to get products into programmers’ hands with or without their full
complement of functionalities, we are compelled to settle for an occasional description
of the situation at some arbitrary moment, knowing full well that we’ll be overcome
by the rush of events before we go to press. This review was written in mid-May,
when, on the Metrowerks side, CodeWarrior 9 (with the corresponding DJ1 update to
Discover Programming) had not yet appeared, and, on the Symantec side, neither had
the DR2 update to Café - so we couldn’t take account of the important changes that those
updates would bring. Meanwhile, Natural Intelligence’s Roaster DR2 was just on the
point of release, and because it involved significant improvements we felt it best to
wait for it rather than include Roaster DR1 in the present comparison. We need
hardly tell our readers that the only reliable way to stay on top of events is to watch
the Web. - man
http://www.symantec.com
http://www.metrowerks.com
http://www.natural.com
It’s about time! Java development tools from the familiar Mac development tool
vendors, Metrowerks and Symantec, are finally here. Speculation about their arrival
first started showing up in MacTech Magazine and the Internet newsgroups almost a
year ago. Was it worth the wait? You can decide for yourself by the time you are
finished reading this review, which deals with Metrowerks’ first release of Discover
Programming with Java and Symantec’s DR1 release of Café.
Note that these are Java development tools; this article is not about the Java
language. MacTech Magazine has been describing the language in detail for some time
now; there was, for example, Richard Cardona’s “Writing Java 102” in the March
1996 issue ([12.3] 25-38), and, since May, Dave Mark has been devoting some
“Getting Started” columns to Java. You will doubtless want to watch Sun’s Java Web
site at http://java.sun.com, and the many other fine Java sites such as Elliotte Rusty
Harold’s http://sunsite.unc.edu/javafaq.
Being the first commercial release, both products have numerous limitations
that I will outline below; remember that by the time you read this, Metrowerks and
Symantec will have updates to their tools available on their Web sites.
The best way for me to approach these products is to describe and compare both
tool sets from installation to execution.
What You Get
Both products include source code editors with syntax coloring, a Sun-validated Java
compiler, Java Applet Viewer, some form of class browser, support for code control,
all of the Sun Java example projects converted to the appropriate environment,
vendor-specific demo projects, Sun’s Java documentation in HTML format, and various
other forms of documentation and utilities.
The MW product also includes the CodeWarrior Java IDE, which is the full
version of their IDE, easily adapted to support Java via a plug-in compiler, linker,
and preference panel. A big plus for the Metrowerks package is the inclusion of the
MW Debugger, which supports the source-level debugging of .class files in the same
way it supports debugging .SYM files for C and C++. Additional documentation is
supplied as cool Apple Guide files and interactive help which is also linked to the Java
HTML documentation via hypertext links in the Guide files. The entire tool set runs
native on 68K and PowerPC platforms.
The Symantec product includes the Symantec Project Manager (which appears
also to be the full version) for source editing and project management, and a very
preliminary version of a visual GUI development tool called Café Studio .which is
similar in concept to their Visual Architect tool, for creating java.awt GUI elements
and generating the source code for the interface.
In addition to the documentation on the Metrowerks disk, they include an
electronic copy of the book Learn Java on the Macintosh, by Barry Boone. Symantec
strikes back with an electronic copy of their own “Intro To Java Programming”.
Although both packages have ample documentation, I really would have preferred the
Java API docs in either THINK Reference format and/or QuickView format.
What You Don’t Get
In their current releases, both products are missing the promised JIT (just-in-time)
compilers that their respective documentation alludes to. I suspect that these
compilers will greatly enhance the usability of both tool sets.
Other than the absence of a GUI tool for creating Java AWT interfaces, the
Metrowerks product contains everything you need to start developing your own Java
applets and applications. I don’t know if such a tool is planned, but extending their
PowerPlant interface builder would be a welcome addition.
The Symantec tool, on the other hand, is missing two huge features in its DR1
release. If you don’t have a Power Mac, you’re out of luck until the 68K tools are
available. The lack of any kind of source-level debugger will make this release very
difficult to use for learning the language and for commercial Java development. JPEG
support as well as sound support are also absent from this release.
Requirements
According to their documentation, the Metrowerks tools require the following
minimum configuration:
• A Mac OS computer with an MC68020, MC68030, MC68040, or PowerPC
processor
• 8 megabytes of RAM
• Mac OS System Software 7.1 or later (you’ll need 7.5 or the Apple Guide system
if you want to use the Apple Guide documentation)
• A CD-ROM reader for installing the software
For optimum performance, Metrowerks suggests an MC68040 or PowerPC machine
with 16 megabytes of RAM.
Symantec minimum requirements are as follows:
• Macintosh 68030 processor (or greater) or Power Macintosh (DR1 supports
only PowerPC development)
• 16 megabytes of RAM
• CD-ROM reader for installation
The Symantec documentation did not offer any optimum configuration, but
ultimately the only way I could get an applet up in the SPM and run it on my Power
Mac 6100 (System 7.1.2) with 24 megs of RAM, was to turn off all extensions and
turn on Ram Doubler to get it up to 48 megs.
Installation
So, here I am, about to install both products. They each ship on a CD-ROM and contain
installers built by MindVision’s Installer Vise system, with options for Easy and
Custom installations. Metrowerks’ recommended Easy Install option will need almost
51 megabytes of your disk. Thankfully, Metrowerks gives you the option of installing
the tools, documentation, online books, and sample code separately. There is also the
comforting Minimal Install option which will cost you under 11 megabytes of space.
The Symantec installer provides an Easy Install option, but it doesn’t tell me how
much space it will cost me. Only after performing the installation will I learn that
Easy Install requires about 35 megabytes of space (5 megs more than the required
space according to the documentation). The Easy Install option does not install the full
documentation, the extra utilities, or the Café Studio tool. To get around this, you are
offered the option of installing the Café Tools, Café Studio, Java Demos, Goodies, and
full documentation under the Custom Install choice. Selecting all of the Installation
options under Custom Install reports that the full installation will require just under
28 megabytes of space - I’m confused!
I proceed with the Easy Installation options for both packages. The Metrowerks
system installs everything into a “Discover Programming with Java” folder on my
drive. The Symantec installer is a bit troublesome in that the default installation
places the Café tools folders at the root level of my drive, so I have to do some cleaning
up after the install. Sure, I forgot to select a directory in the “Select a Folder” menu
under the Install Location option, but I was excited to get started. The Easy Install
should be just that, easy. I then have to go back and do a Custom Install to get the Café
Studio tool.
The Tools
OK, now that I finally have these tools on my Mac, it’s time to see what it’s all about.
Generally speaking, both environments are extensions of their respective C/C++
products. This is fortunate because you don’t have to learn new tools to get started. To
keep things even, I chose the Sun Animator demo applet, included with both packages,
for my tests.
IDE Project Managers
As you would expect from any successful Macintosh tools vendor, both products
contain a familiar project model for building Java applets and Java applications
(applets are executed via the tag in HTML; applications are real Macintosh programs that execute when you double-click them). Symantec includes its standard
Symantec Project Manager for managing your .java source files and your .html files;
Metrowerks uses their CodeWarrior Integrated Development Environment for the same
purpose.
Editors
Both products include editors built into their IDEs, which support function
markers, syntax coloring, drag-and-drop editing, and split panes.
Class Browsers
Both products also contain class browsers which are extremely helpful for
viewing and editing any object-oriented source code. The Symantec product includes a
graphical mode which shows you a left-to-right graphical tree of the project’s files.
This is a cool tool, but I was easily able to cause a few problems while testing it out.
Aside from a few cosmetic bugs like list selections extending beyond the bounding
panel, I found that if I double-clicked on a Java library class function the SPM reports
that the file can’t be found. I tried removing the project’s object code, and reset the
project paths, but this caused a total system crash. After rebooting, I tried again and
this time crashed the SPM by holding the mouse down over one of the graphical leaves
in the class browser. Oh, well; it looks like a cool feature. On to the rest of the tools.
Compilers
As I mentioned before, the JIT compilers are not available in either release.
Metrowerks currently offers only one compiler, the Sun-validated “MW Compiler”
which is essentially the same compiler code that the Sun Mac JDK (beta 1) uses.
Symantec offers the standard Sun compiler and a faster Symantec Java Compiler that
seems to outperform the Sun compilers as far as time to compile is concerned.
Interface Builders
Metrowerks doesn’t include any sort of interface builder with this release;
Symantec, however, has included a preview release of their Café Studio application
(which is also PowerPC-only code). This tool reportedly allows you to draw the
java.awt interface components with a MacDraw-like tool palette. You can the
generate the Java code to create the actual interface in your project. You still have to
do some manual work on the resulting code, and several of the java.awt components
are not supported. There is also no way of subclassing any of the java.awt classes
using this tool. I also found out that there is no documentation for Café Studio on the
DR1 disk. You had to visit Symantec’s password-protected Café Web site, armed with
your user ID and password (which comes on a paper insert to the CD’s jewel box) just
to get to the Café Studio update, which I found to contain the missing documentation to
Café Studio, in Adobe PDF format.
Figure 1. The Café Studio environment
Applet Viewers (The Java Virtual Machine)
Both Metrowerks and Symantec include a modified version of the Sun Applet
Viewer. Once your Java source code is compiled into bytecodes, you run your code with
the Applet Viewer. The Metrowerks version, called “Metrowerks Java”, is a bit
farther along in that it supports sound. The Symantec version doesn’t support sound
yet.
I have found that the overall performance of both Applet Viewers is lacking. I
sincerely hope that the next release of both products will pay more attention to the
performance of Java on the Mac platform. In particular, the graphics drawing
implementations are very slow. I have some custom graph-paper code (similar to the
Graphing Calculator that came with the Power Macs) which I wrote on a Sparc 4 under
Sun’s Solaris JDK, that flies when run with the Sun JDK, but is painfully slow even on
a Power Mac 9500/132!
Debuggers
This part of the review was the easiest. The current release of Café doesn’t have
one and the Metrowerks debugger is the exact same “MW Debug” that you use with any
other language. You just treat your .class files that the MW compiler spits out as if
they were .SYM files. Having a real Mac-based source-level debugger for Java code is
the one thing that I have really wanted since I started doing Java development last year
with the Sun JDK alpha 3 tools. This tool alone is worth the entire cost of the
Metrowerks tool set!
[Incoming Editor-in-Chief Will Iverson adds: “As of this writing, all three
vendors have shipped debuggers. However, all of these debuggers have severe
limitations with regard to multi-threaded debugging, variable display, stepping in and
out of code, and multi-language display (e.g. debugging C/C++ and Java code).
Consider yourself warned...”]
Figure 2. The Metrowerks debugger
The support you get with both products differs a bit. Metrowerks and Symantec both
offer some type of phone support, fax support, and internet support. The big
differences are that Symantec offers a 60-day money-back guarantee and 90 days
(from the date of your first call) of unlimited phone support for installation,
configuration, and general use (which in my opinion you’ll definitely need), after
which you’ve got to pay, while Metrowerks offers their standard unlimited phone
support. The other thing, which I mentioned earlier, is that you’ll need your password
and user ID to access Symantec’s Café Web site for updates, while Metrowerks’ Web
site is accessible without a password or ID.
Conclusion
Table 1 shows a summary of the features sets of the two environments.
Table 1. Comparative feature sets
It’s nice to finally have some options for Java development on the Mac platform.
Finally the Internet world will get to see what interesting and useful Java software
will look like from the Mac developer’s perspective. Your choice of Java tools might
come down to going with whatever environment you are more comfortable with, just to
ease the learning curve, but in the early innings of this game the smaller hardware
requirements, 68K support, and the excellent source-level debugger make
Metrowerks’ “Discover Programming with Java” the clear choice for getting started
with Java development on the Mac. However, if you are planning to do any serious Java
development, and especially if you require use of Java’s awt.graphics system, you’ll
want to get yourself a Sparc station.