March of the Mac IDEs

Four Java development tools for Mac compared

1 2 3 4 Page 4
Page 4 of 4

Symantec provides unlimited technical support for Café for 90 days, starting from your first call. After that, if you still want technical support, there are several payment options. I tried calling Symantec's technical support department, but after five minutes of waiting on hold, I gave up. To be fair, I was offered an opportunity to leave a message, but I chose not to. On a later call, I held for only two minutes and spoke to a representative who put me on hold again while he asked someone else for the answer to my question ("How do you turn on the JIT in the AppletViewer?"). While on hold, I found the answer in the Adobe Acrobat documentation that comes with Café. To his credit, he returned with the correct answer. (In case you're wondering, the control to turn on and off the JIT is tucked away in a hierarchical Java Runtime submenu of the Apple menu).

Sun does not provide technical support for the JDK. If you can't figure it out from the documentation, subscribe to java-mac@natural.com and post a question. Some kind soul is likely to help you.

Future prospects

Because all of these products are in varying stages of their gestation periods, they all promise new features in the not-too-distant future.

Natural Intelligence has made it known that it is working on a JIT compiler; NI expects it to be available some time this summer. In the meantime, NI has put work on Roaster's native Java compiler on the back burner. This seems reasonable, partially because of its fast VM, but also because once its JIT is available, the performance gap between Java bytecode and native code is likely to narrow significantly, effectively obviating the need for a native compiler.

Source-level debugging is a feature most of the products advertise, but fully-working implementation is in the future. Metrowerks has come the closest, and just needs a few finishing touches in terms of being able to debug from within the IDE. Natural Intelligence is not far behind in Roaster DR2. Roaster DR2.1 is expected to have a better debugger, with the unique feature that it will allow you to selectively load and unload class files, allowing you to test your changes without quitting the debugger. Symantec has included a pre-release debugger in Café DR2. In the near future, all three of these debuggers will reach maturity and become useful tools.

In terms of updates, you can expect that Roaster and Café will each be coming out with one more developer release (versions DR2.1 and DR3, respectively) before a final product is available. Metrowerks has released a minor update to Discover Programming with Java, bringing it up to the level of the Java tools included with CodeWarrior 9. Other minor updates may come this summer, but don't expect any real new features until CodeWarrior 10 comes out in September. Metrowerks has not really owned up to the fact that Discover Programming with Java is a work in progress (see "Truth in advertising," below).

On the visual GUI development front, Symantec is expected to release Visual Café for the Mac soon, but it is likely that this product will carry an additional price tag. Natural Intelligence plans visual GUI tools for inclusion in the next update to Roaster. Metrowerks has plans to include in CodeWarrior 10 a tool for Java GUI development, to be based on Constructor, its visual tool for constructing Macintosh application GUIs.

Also in the forecast: both Metrowerks and Natural Intelligence plan Windows-based versions of their development tools, to be released by the end of this year.

Natural Intelligence's recently announced partnerships with Quarterdeck (makers of the WebStar HTTP server for the Mac) and EveryWare (makers of Tango and Buter SQL) give Roaster an early lead in terms of database connectivity and server-side Java applets. Early versions of database support classes are provided with Roaster DR2. When Sun's JDBC API (Java Database Connectivity -- see JavaWorld, June 1996) is finalized, Roaster will have a head start in this arena.

Natural Intelligence is also working on a product called Roaster Professional, expected before the end of 1996, tailored specifically for Java application development. One unique feature of this development environment is that it will enable programmers to write truly stand-alone, native PowerPC, 68K, and Windows 95/NT applications in Java. According to Christopher Evans of Natural Intelligence, even the Macintosh Toolbox will be accessible through a class provided in Roaster Pro. This runs somewhat against the grain of the cross-platform Java ideal, but the Java language has many features that make it attractive even for development on a single platform.

In the past two months, Sun has revealed plans for extending the Java API. Natural Intelligence, Metrowerks, and Symantec will surely be integrating support for these new extensions in future updates of their Macintosh products, but for now, they've got their hands full just implementing the core API.

Truth in advertising: Who can you trust?

In a chilling scene from the movie Gorky Park, an eccentric professor warns the idealistic Arkady Renko (played by William Hurt) that people like Renko are in danger of falling into "a chasm... between what is said and what is done." Consumers in the software industry are quite familiar with this chasm, and it's one of the reasons we carefully read reviews before buying products.

Symantec and Metrowerks are very quiet about the "developer release" status of their Java IDEs. The outer packages say nothing to imply that these products are incomplete. Even if you visit their Web sites or read their press releases, you might still be led to believe that these are finished, final-release products that fully implement the Java language and API, and are -- within reason -- free of bugs. It's not until you've already paid your money and opened the box that you discover that what you have actually bought is a "developer release," and you are participating in what amounts to a paid beta program.

In my opinion, Metrowerks is guilty on more than one count of having misleading advertising -- the awards pictured on the box for Discover Programming with Java were, in fact, won by CodeWarrior Gold, not by Metrowerks' Java tools. Discover Java does not come with major updates. This is unacceptable for a product that is as clearly beta-quality as this one. Even given that Metrowerks' Java implementation is more nearly complete than any of the others, the company should not be let off the hook for this.

Symantec, too, should be ashamed of itself. The words "developer release" do not appear in any of its press on the product; the only place I can find them is on the release notes included with Café itself. The press releases for DR1 actually went so far as to call it "Release 1;" you had to open the package and mount the CD-ROM to find out that it was actually DR1. It seems Symantec has gone to great pains to hide the beta-quality status of the product from prospective users. Exceptions to this are the Café debugger and Café Studio, which are acknowledged as being pre-release quality.

Either Symantec is deliberately marketing Café as a final release -- despite the fact that the product is still of beta quality -- or it is not doing a very good job of educating its sales staff. At the JavaOne conference in San Francisco at the end of May, I explicitly asked a Symantec representative with regard to DR2: "Is this a developer release or a final release?" The reply: "This is a full-fledged, final release of the product." On May 20, Symantec announced that version DR2 of Café was available for download from its Web site. Users who went to check it out were disappointed to find that it was not there yet. Three weeks later, on June 10, Café DR2 was finally made available for download.

Natural Intelligence released a statement in mid-April announcing that Roaster Release 1 was imminent. Shortly afterward, NI amended its announcement, saying that the upcoming release was to be called Developer Release 2, and that registered developers would still be entitled to two major releases after this one.

Natural Intelligence's official stance on this last-minute change is that certain components of the product were not yet up to its standards. An unofficial source inside NI tells me that Symantec's announcement of Café for Macintosh scared NI into announcing a final release, but when NI saw that Café was in fact still a developer release, the company became less concerned. It is also true that some owners of Roaster DR1 complained loudly when it looked like NI was going to try to pass off a product with beta-quality features as a final release. Regardless of its reasons, it can at least be said that NI eventually did the right thing by retracting its initial announcement. More than any of the other vendors, Natural Intelligence has been very up-front about the in-progress status of Roaster, maintaining a public "Roaster DR2 Known Issues & Fixes" page, which is updated each time a new version becomes available.

Perhaps I'm being too idealistic, but I believe that if a product is not a final release, this detail should be clearly and unambiguously stated in any public advertisement of the product.

Conclusions

There are plenty of good things to say about each of these products. If you want to get started on Java for the smallest possible price tag, you don't need to buy an IDE; you can download the JDK for free, and use any shareware or freeware text editor to enter your code. On the other hand, if you want the convenience and features of an integrated development environment, you have choices.

Of the three IDEs, I find Roaster's environment to be most intuitive and its features best suited to the Java language. When I want to write Java code, I turn to Roaster first. Roaster is a Java-only environment. In terms of cost-effectiveness, this is a drawback in that it makes Roaster a rather expensive one-trick pony. In terms of user-interface, however, Roaster has an advantage over the other environments in that it is free of distracting features relevant only to other languages.

Natural Intelligence could establish Roaster as the clear choice for Macintosh Java development if it lowered its price to a more competitive level. At 99, Roaster is three times as expensive as either of its competitors. For only 00 more than the price of Roaster, you can get CodeWarrior Gold, which provides a complete Mac-hosted development environment for Pascal, C, C++ and Java. True, Roaster has impressive user-interface features, but it's a question of how much you're willing to pay for them.

Important! See Update.

Café is a fine product in many ways. Of the three environments, it's the only one that includes built-in source code version control, a very important feature, particularly if you're working on a development team. Café is currently the only product to include a JIT for the Macintosh. It's also the only Mac development environment with any sort of visual GUI-building tool for Java -- although that tool is of limited utility at best. Café's user interface for Java development, though not quite as well-developed as Roaster's, is easily superior to that of CodeWarrior.

I'd like to say that Metrowerks has brought to its Java tools the same standards of excellence that have made CodeWarrior a force to be reckoned with in the Mac software development arena, but at least in terms of user interface, this is simply not the case. Metrowerks' engineers have diligently provided CodeWarrior with the most complete and faithful implementation of the Java language available on the Mac platform but apparently at the expense of its user interface. On its technical strengths alone, CodeWarrior might be the tool of choice for the seasoned developer (especially those with Unix experience), but for the Mac aficionado, even Discover Programming with Java is likely to be a frustrating experience.

We're not completely out of the woods yet. None of these products is yet 100 percent mature. Along with its features, each carries its own assortment of bugs and flaws, some more serious than others. As a result, we find ourselves in an odd twilight zone: although the days of waiting for Java to come to the Mac are very nearly over, all of the existing tools have a way to go before they fulfill the promise of a complete Java development environment for the Mac. Nonetheless, with four tools to choose from, it is finally possible to approach serious Java development on the Mac platform. Regardless of which tool you choose, it's good to know you have choices. The competition is pretty intense, with each vendor carefully watching and responding to the activities of the others. Ultimately it is you, the consumer, who benefits from this competition. As long as the IDE vendors have someone to outdo, they will have to keep outdoing themselves.

Dave Makower is a Web consultant and Java developer for Pencom Web Works, a business unit of Pencom Systems, Inc., headquartered in New York City. He is a co-author of Java Programming Basics (Henry Holt/MIS:Press, 1996), and a technical editor for the soon-to-be-released Java in Plain English (Henry Holt/MIS:Press, 1996). Dave's current projects include exploring Java's potential for database access, and using Java to extend the W3C's new Jigsaw Web server. When not hacking or writing articles late into the night, Dave can be heard playing keyboards in NYC with both Still Trust and The Evan Kremin Band.

Learn more about this topic

1 2 3 4 Page 4
Page 4 of 4