We test the top 6 Java visual IDEs

The latest pack of Java tools delivers full JDK 1.1 support, raises the bar on performance and features

1 2 3 4 5 6 Page 5
Page 5 of 6
Click image for expanded view

Floating palettes and other small separate windows make

SuperCede quite usable even in low resolutions (800x600

or less). Notice that edit and debug operations are on

the screen while the applet is running, so you don't have

to bring up different windows to make changes and try

them out.


In last year's review, SuperCede was the only tool with a native compiler. Now Visual Café also offers a compiler, but only SuperCede's compiler will work for all JDK 1.1-based programs and class libraries. This is because SuperCede compiles any bytecode file, whereas Visual Café can compile only most Java source files.

SuperCede also provides the best integration with C/C++ code because it supports JNI as well as direct calling of C/C++ functions. It also includes a C/C++ compiler and debug support. SuperCede manages to provide all this support for other paradigms while being fully JDK 1.1-compliant. You can use C++ code easily within SuperCede thanks to its shared-object model. An additional benefit of this is that it is easy to derive and use C++ classes from classes implemented in Java. SuperCede is the only tool in this review that supports ActiveX; it thus lets you directly use thousands of software components that already exist for Windows.

SuperCede is the tool with the most RAD-oriented features. It goes beyond the incremental compilers of IBM VisualAge for Java because it can reflect some changes in code without restarting the program. It works like this: When you run your program you can make changes to it without stopping the program; most changes will take effect when you press the Update button.

SuperCede and Visual Café can detect that a change was made to an active function and give you the option to restart from the beginning, restart from the changed function, or resume. SuperCede goes further in that it can detect that a change to an inactive function (such as init) resulted in a change to global data. With SuperCede, you are presented with information detailing what was affected (global data, active methods or both) and given the restart options.

SuperCede also is unique in that it includes a Visual Basic-to-Java source conversion. (Note, though, that we have not tested this feature.)

SuperCede's GUI designer (like those for Cosmo Code, JBuilder, VisualAge for Java, and Visual Café) lets you select multiple objects and perform copy and cut operations.

For database programming, SuperCede includes both JDBC APIs and Java Data Objects (JDO). JDO is SuperCede's implementation of Microsoft's ActiveX Data Objects. SuperCede claims this makes it more convenient to deal with a database, by allowing you to do most operations without writing any SQL code. What we find is that this isn't always less complex: you are writing with objects that basically are like embedded SQL. That is, you write SQL statements as a parameter to a method call on the database object.

The combination of a compiler, easy access to native code, the Visual Basic translator, and support for both JavaBeans and ActiveX makes SuperCede the best tool for organizations with legacy code. It is rare to find a tool that effectively serves IT needs while at the same time making us down-in-the-trenches programmers happy with such good RAD support.

Perhaps the most amazing thing about SuperCede is that for now it is available for free. You can download the standard edition (not the professional edition reviewed here) for free from SuperCede's Web site, or order a CD for only 0. SuperCede plans to continue this offer at least until mid-April.


In the code generated by the GUI designer, the placement and labelling of objects is hidden in a persistent object-store file (specifically a Java serialized object file), so placement and labelling is difficult for the developer to programmatically change. Although the resulting Java code is legal, it cannot be reverse engineered by other products (like JBuilder and Visual Café) into a visual representation. Like most tools, SuperCede does not offer reverse engineering.

The packaging and literature say that Starbase Versions are included, but during installation Versions asks for a serial number and lock code (which you can leave blank for the evaluation version). The user does get a full version of Starbase Versions. However, due to a miscommunication between SuperCede and Starbase, the necessary serial number and key is not in the box. SuperCede thought Starbase was going to put this information on its insert (in the partners catalog), as it did with version 1.2. If your box does not have this insert, send a note to sctech@supercede.com to get the serial number and key.

SuperCede's GUI designer doesn't provide a visual way to define interactions (events of one object acting upon another, as in VisualAge, Visual Café, and Cosmo Code). The GUI designer doesn't provide a way to visually place non-active GUI objects like lines, circles, and other geometric forms.

SuperCede's GUI designer also does not allow you to change properties of multiple objects. (JBuilder, VisualAge, and Visual Café offer this feature.)

Help is incomplete, with no information on interactions, wiring, and many other issues. The Java API help is a duplication of Sun's standard documentation, with no detailed explanation or examples.

SUBHEAD_BREAK: Symantec Visual Café Professional Developer's Edition 2.1 http://www.symantec.com/domain/cafe/deved/features.html#b

Visual Café has a rich feature set -- and a memory appetite to match.

Click image for expanded view

Visual Café has the only debugger of the reviewed

tools that supports the major VMs (Microsoft, Netscape,

and Symantec's own). The debugger, which shows a lot of

runtime information at all times, makes it easy to add

variable "watches." Notice that placing your cursor over

a variable will show its value (like a tool tip, if the

variable is in-scope). Visual Café also boasts an

expression evaluator, but it is not as powerful as the

scrapbook in VisualAge for Java.


Of the tools that have gone through a prior generation, Visual Café is perhaps the least changed -- but we mean that in a good way. The prior version already was mature and highly capable. The biggest improvements in the new version are the documentation, the support for JDK 1.1, incremental compile/debug, and the compiler, which allows you to create native applications.

Of the reviewed tools, Visual Café has the only debugger that works on Symantec's JVM, Netscape's JVM, and Microsoft's JVM. This is a great feature for developers because many software bugs in your Java code might be reproducible only in a particular VM.

Visual Café and JBuilder are the only two-way tools in this review. That is, they can reproduce the visual representation of your GUI code, as long as certain rules are obeyed.

When we last reviewed Visual Café, we considered it the best tool for rapid application development (RAD). Now Symantec has added incremental compile/debug capability to Visual Café, and in a very mature way. The problem with incremental debug is that some changes typically will have no effect unless the program is restarted. As you debug your code, you can make changes. When you stop or resume program execution, Visual Café recompiles and gives you the option to restart the program.

Visual Café automatically saves the file when you compile or resume debug after making a change. It also can automatically save the file periodically while you are editing, and it automatically backs up files when you save them.

Native applications created with Visual Café have many advantages. Besides the obvious issue of speed, Symantec has managed to make the binary version of the class libraries much smaller than the normal JDK. Instead of needing a 9-megabyte classes.zip file, a compiled Java application needs only the dynamic load libraries (DLLs) that are actually used in the application. Using all of the DLLs would require about 4 megabytes.

Visual Café has a lot of features for working with the source files, such as global search and replace. Its file-compare tool would be a lot more useful if it had some options, such as the ability to ignore lines that differ only in trailing spaces. (In the reviewed version, if you bring up a file in the editor and save it to a new name the tool will spot many differences between the saved file and the original file. This is apparently because Visual Café's editor options can affect how spaces and tabs are handled, and the default settings are different than when the samples were created.)

The Visual Café Professional Developer's Edition also comes with Visual Page (an HTML authoring tool), Netscape Communicator, and the Netscape Communicator patch to run JDK 1.1. We aren't going to give you a complete review of Visual Page, but it seems like a decent program (although it does some things that not all browsers will like, such as providing end-paragraph tags (</P>). Also, Visual Page always wants to force the author's choice of fonts, rather than allowing the browser defaults. We've found the JDK 1.1 patch necessary where Netscape freezes on a system upon starting Java.

From the original Café, through this latest release of Visual Café, the area most improved is documentation. Visual Café now excels both in printed and online documentation. The problem with the documentation of most tools is that it is simply a screen-by-screen breakdown of the components of the tool. This would be fine if you wanted to memorize the tool. But when you want to get things done, you need a manual that is task-oriented, in which you don't have to know what part of the tool performs a particular function. Visual Café's extensive User Guide (more than 400 pages) is an excellent example of the right way to do documentation. Getting Started offers an extensive introduction, covering installation and creating your first applet as well as describing a couple of debug scenarios, the other online and printed documentation, and where to get more information and support. The Visual Page User Guide (more than 140 pages) is also well done, bringing the total printed documentation to about 750 pages.

Visual Café's visual editor does assist you in defining interactions between components, even non-visual components. However, it does not assist you in visually changing these interactions; you'll need to edit them in source code. And it does not show interactions visually on the screen (such as the "wires" of Cosmo Code and VisualAge for Java).

Visual Café is the only tool reviewed that is available for the Macintosh.

Although all the tools have their own Web sites with future information, Symantec goes further by providing newsgroups on its server.


Most problems with Visual Café are minor or easily fixable system-configuration issues. The two biggest problems are occasional crashes and its tendency to hog memory. Most crashes are caused by errors in the configuration: Usually either CLASSPATH points to the wrong libraries, the system doesn't have enough virtual memory, or multiple versions of certain DLLs (like javai.dll) exist. Admittedly, we encountered some of these problems because we've been using so many other IDEs that we had four copies of javai.dll on our review system. However, there are some sequences of use (such as changing the display order of a panel in a flow layout, and then compiling) that cause a crash. Symantec has acknowledged these problems in its newsgroups and is working on solving the problems.

Make sure you have at least 100 megabytes of virtual memory to assure Visual Café will run without crashing. Also, if you run with less than 64 megabytes of actual RAM on Windows 95 (NT requires even more memory), the tool will be slow.

The online help is better than most, but it still needs improvement, particularly on components that Symantec supplied. For example, when you display help for a pressed-on button for a value in the PropertyList, you can get help on inane things like Font.size but not for other attributes that aren't so obvious. (For example: What does Value signify for a ListSpinner? This component is supposed to list text items, but Value appears as an integer.)

Finally, one experienced developer told us that Visual Café's editor doesn't provide enough muted colors for viewing your source code. It seems silly, but if you spend 12 hours a day writing code, you can get a headache if the source code windows are glaringly bright or excessively dark. Visual Café's only muted color is gray.

SUBHEAD_BREAK: Select links to related documents

1 2 3 4 5 6 Page 5
Page 5 of 6