A C++ programmer buddy of mine got some extra work writing server-side applications in Java. He was a little pressed for time so he asked me about an IDE. "There are hundreds of those things floating around out there," he lamented. "How do I know which one is best?"
He had a point. Almost overnight there were more IDEs on the market than you can shake a 486 laptop at. Slogging through them all would be tiresome to say the least. I didn't hesitate when answering him, though, because I recently tried one that overwhelmingly impressed me. "Try SuperCede for Java Professional Edition," I said to him.
A Tutorial To Get You Started
Included with the Professional Edition of SuperCede is the MindQ tutorial. Whether you're just trying to get used to SuperCede as a new environment or you've never programmed before, MindQ is essential as a learning and reference tool. Among its many features it boasts a quick-access indexed format, hundreds of definitions of terms and links to Web sites that will further your knowledge of Java. I had never used SuperCede before, but with the help of MindQ I was on my way in minutes!
The Age-Old Problem of Simplicity Versus Effectiveness
In the past, IDEs came in two types: there were products that had many useful features, but were so confusing in their layout that they were burdensome to use; some were quite simple, but lacked many of the tools and features needed by the serious developer. SuperCede seems to have solved this dilemma. Although the interface is quite simple, I found this to be a powerful and complete building tool.
SuperCede opens in a "Project" window which displays the contents of the current project. Another project can be selected by clicking on "Open Project..." in the project menu, or a new project can be initiated by selecting "New Project..." (see Figure 1).
One of the major problems I've had with other IDEs is the number of windows needed to keep track of all the building operations. For complicated applications the number of windows in some development environments is staggering. This is where SuperCede offers a big advantage. When a new project is started the "Component" window will open. Almost all aspects of building your application can be performed from this single window. This includes, but is not limited to, editing source files, creating forms, viewing files and viewing class hierarchies (see Figure 2).
This window is divided into two panes. On the left is the Browser pane, which allows selection of browsers for forms, beans, source files, data sources and even imported DLL files. When a file is opened from this browser, a viewer or editor opens in the Editor pane on the right. If a source file is selected, for instance, a source code editor opens on the right. Selection of a Bean will result in the opening of the Beans browser. This allows bean properties to be inspected. Beans may be dragged directly from the browser onto a form or from a preconfigured palette.
At the top of the Component window is the Component toolbar. The toolbar exemplifies SuperCede's ability to perform tasks simply without sacrificing power. A simple click is all that's needed. Entire projects can be compiled by choosing "Build All." Selecting "Execute" runs a component. Any recompiling that is necessary is done automatically at this point. When "Go" is selected the component is automatically debugged and run. If a breakpoint is used the run will be stopped at that point. If a cursor is set at a certain point selection of "Run to Cursor" will cause the component to run to that point and stop, making a breakpoint unnecessary. "Extract" does just that -- extracts class, jar or executables.
Building the graphical interface for applications has never been this quick. When using the forms editor, buttons, bars, boxes and many other useful components, they are clicked and dragged from a toolbar on the right. By right-clicking on them it is possible to set their properties and functions. If more than one of the same component is needed, a click on the "Duplicate" button on the toolbar will create another of the selected component. The spacing and alignment of the components can be adjusted quickly by use of the "Layout" menu.
SuperCede also has the ability to create data-aware components. It is possible to communicate with a database without writing SQL statements, although they may be created if desired. The data source is imported by selecting the "Data Sources" from the Browser box, right-clicking the Browser pane and choosing "Import" from the popup menu. This opens the "Data Sources Properties" dialog box. The appropriate URL, driver, user name and password are then filled in.
I once helped on an application that needed some last-minute, fine adjustments. It seemed that every time we went back and ran the application, it was still just a couple of pixels off here and a fraction of a hair off there. We couldn't tell what the exact results of our changes would be until we recompiled and ran the application. This ended up costing us a night's sleep. SuperCede has come up with an ingenious way of solving a problem like this. They call it their "Flash Compiler." It provides an interactive environment in which programs can be changed as they run. First, click in the Component window, select the appropriate source files and change the code. When "Update" is chosen from the Component window, the program is recompiled as it runs. The changes made will appear while the application is running!
SuperCede offers some other neat debugging features as well. A breakpoint can be set by toggling through the code to the desired breakpoint, right-clicking and selecting properties. If "Tracepoint" is selected, rather than "Breakpoint," the application will not stop but will display a message window when the program reaches this line.
Using the "Debug Scratch Area" enables you to examine anything accessible from the current program scope. Expressions or statements can be entered and their results can be viewed instantly. Clicking the "Debug Scratch Area" inspector button at the desired breakpoint does this. This can be used to evaluate or execute either expressions or full blocks of code.
SuperCede also offers full interoperability in these other languages:
SuperCede is perhaps the most powerful and complete Java IDE I've yet seen. Its main highlight is that it maintains this power without giving up simplicity of use. My C++ buddy was glad I shared this information with him. Now if I could just get him to return the favor and bring back the lawn tools he's borrowed.
- C++: Existing C++ objects can be used as if they were developed in Java. The library can either be imported and built into the Java application, or calls can be made directly from Java code.
- ActiveX: Supercede includes ActiveX controls but allows installation of your own.
- Visual Basic: Import existing Visual Basic form files into the SuperCede IDE. The form will automatically be converted to an equivalent Java source file.
About the Author
Edward Zebrowski is a technical writer based in Orlando, FL. Ed runs his own Web development company, ZebraWeb, and can be reached on the Net at [email protected]