Interactive Development Environment Evaluation

Chris Burkhardt

January 12, 2000

1.0 Purpose

This evaluation of available IDEs recommends a development environment for use in the APT project. It is the desire of the APT team to use a single IDE across the team for Java development.

2.0 Recommendation

Rather than saving the recommendation for the end, I recommend adopting CodeGuide by Omnicore for the APT project's Java Development Environment. CodeGuide provides the simplest and most powerful source editor of the IDEs evaluated and also provides on the fly syntax checking that is non intrusive. It runs well on Solaris and Linux. It's also a good value at $49 per seat.

2.0 Summary

The following table lists available IDEs for the Unix platform and the criteria I used for comparison. Ratings are a scale of 1 to 5. 1 being bad; 5 being excellent. 0 indicates that the feature is not available.

Evaluation Summary


Code Guide

Jbuilder Foundation

Simplicity


Price

$49.00

Free

$79.00







Performance





Solaris

4

4

5


Linux (glibc 2.1)

4

2

4


Operating System Platforms





Solaris

5

5

5


Linux (glibc 2.1)

5

5

5


MS Windows (98 and NT)

5

5

5


Code Editor





Customizable templates

5

3

0


Code Highlighting

5

5

0


Auto Indentation

5

5

0


Source reformatting

5

1

0


Method and parameter query

5

4

3


Line Completion (i.e. tab completes variable name)

5

3

0


Error Detection

5

0

0


Customizable hot keys

5

5

0


Class Browsing





View classes in project

5

5

3


View methods in class

5

5

3


Debugger





Set breakpoints

5

5

0


View variable values

4

5

0


View active threads

4

5

0


Step into methods

5

5

0


Step over methods

5

5

0


Run to position

5

5

0


Step into external package code (i.e. JFC)

5

5

0




3.0 Product Impressions

CodeGuide 2.0

Omnicore Software GbR

Werderstraße 87

76137 Karlsruhe

Germany

http://www.omnicore.com

Phone: +49 (0) 721 9375840

Fax: +49 (0) 721 9375846

General email: info@omnicore.com

Sales email: sales@omnicore.com

I found CodeGuide to be easy to install and start using. The SEA project imported into the CodeGuide environment quickly. The biggest strength of CodeGuide is its error checking while editing code and its methods to indicate errors. It shows a green check mark when a file's syntax is clean, and a red x when there are error. Additionally, red lines in the scroller show where errors are in the code. The editor also completes code for you when desired by pressing the tab key, which I found comfortable since I'm used to this feature in tcsh. A very nice feature is the formatter that allows you to re-indent an entire source file.

The performance is good on Solaris and Linux. Since I don't have access to Windows I can't speak for its performance there. I did find on the Linux box, a pentium with only 64Mb memory, I was not able to build the SEA project. It was too large for my available memory. I was able to run the debugger on it though. My smaller jSpike project was able to build and run nicely on both Linux and Solaris. I did find that Linux performance was best when I used JDK 1.1.7 to run CodeGuide even though I was building jSpike using JDK1.2.2.

CodeGuide allows you to switch JDKs on the fly and also group jar file and directories into "libraries" which can then be assign to projects. I found these feature very convenient.

The downside to CodeGuide is the editor would occasionally loose its text editing bar. This was annoying, but bar is easily returned to view by clicking on the look and feel in the view menu.

I personally found CodeGuide to be a good solid programming environment.

JBuilder 3 Foundation

Inprise Corporation

Worldwide Headquarters

100 Enterprise Way

Scotts Valley, CA 95066

http://www.inprise.com

Phone: 831-431-1000

Jbuilder 3 Foundation in the free version of the Inprise JBuilder Enterprise IDE. It provides a similar interface and feature set as Omnicore's CodeGuide. The insterface is very visual. The debugger is easy to use and allows variable values to be set while stepping through code.

The main difference are the controls for accessing command completion, and setting up projects. JBuilder primarily uses a time delay and multiple hot keys for command completion. While project setup is also by way of "Project Properties" Jbuilder lacks the library setup of CodeGuide.

Jbuilder 3's performance on the Sparc Ultra 5 is certainly acceptable, but on the Linux platform it's really slow to the point of being unusable. This may be due to the JDK 1.2.3 requirement for Jbuilder and only 64Mb of memory on the laptop. A contributing factor is the 1.2.3 is pre-release only and probably has performance issue to be worked out.

The best feature of Jbuilder is its debugger.

Simplicity for Java

Data Representations, Inc.

P.O. Box 519

Summit, NJ 07902-0519

http://www.datarepresentations.com

Phone(888) 307-9550

Simplicity for very different from CodeGuide and JBuilder in that it is a lightweight IDE built to run fast with a very small disk requirement. To do this, Simplicity supplies a very light code editor with few features. Data Representations encourages uses to replace this editor with Emacs for example. So far there is no debugger supplied with Simplicity. I was told that the debugger would be available this afternoon and an installer mailed to me.

The main feature Simplicity provides are a screen painter and a bean creator which work pretty well. The Painter actually creates user readable code.

I think as Simplicity matures it will because a useful IDE. Of the bunch it is the fastest performer overall, but it's also the least powerful.