At 23:40 02.09.00 -0600, Jim Schatzman wrote:
>Obviously, there are lots of other Java IDEs available, including those
>available from Sun, Symantec, IBM, etc. Unfortunately, when the trade
>journals review complex products
>like IDEs they tend to give them all top marks. Only when you stress the
>software,
>using it for weeks at a time on large projects, do some of the quirks and
>weaknesses
>show up. It would be very helpful to have practical comparisons of the IDEs as
>experienced in real development projects.
I hope no one is offended if I use up some bandwidth to relate my
experiences with Java IDEs.
While there are entire newsgroups "dedicated" to "IDE wars", most of the
contributors there
have not tried their IDEs with Java 3D, as I have.
My activity is at the hobbyist level, and I've yet to develop a Java
application of more than a
few thousand lines. Your mileage may vary for substantially large programs.
Visual Cafe 3.0 Database Edition
------------------------------------------------
I bought Visual Cafe 3.0 Database edition a couple of years ago; it cost me
about $800 and
is massive overkill for what I do; in particular, I don't use the database
features because I
don't do multi-tier business programs. What suckered me into shelling out
the money was
the ability to create standalone .EXEs. I anticipated delivering at least
one of my programs
to users without current or properly installed JVMs.
Though the IDE supports Swing (Swing was pretty new back then), the native
compiler does
not. This was my first disappointment; if I wanted to produce .EXEs, I had
to stick with the
AWT. In any case, whatever .EXEs I produce would need to be delivered with
a (I think)
9 MB .DLL file. I have heard other people call VC's native compiling
feature "a joke".
Another problem, to me, was the glacial speed of switching workspaces or
views; you
can sit and watch as the IDE repaints GUI components (of the VCafe gui, not
mine)
window by window, element by element. This has gotten better since I moved
up to a
300 MHz machine, but the lag is still annoying. Such a switch happens by
default when
you go from editing mode to debugging, so it's fairly frequent, and
requires some option
adjustments to avoid.
A bigtime annoyance was the IDE's habit of crashing. There are certain
things I learned
to avoid doing if I wanted to keep the IDE alive; I believe one problem I
noticed was with
a combination of handcrafted GUI code and VC's RAD feature. On one of my
machines,
VC has taken to crashing at load time with a DrWatson; no tweaking of
config files seems
to help, so I will deinstall it soon, and am not sure if I will re-install.
I have alternatives
(see below).
I was pleasantly surprised by the ease of switching my ancient (2 or 3 year
old) VC IDE
to Java2 (JDK 1.3). In the Database Edition, you can configure multiple
JVMs and switch
between them at will. I was even able to preparse the J3D source and thus
get the full
tooltip and auto completion support. I did not try adding Canvas3D to the
component
library for the GUI builder as I prefer to hand-code my GUIs. J3D apps run
smoothly
under a correctly configured VC environment. I'm not able to debug JDK 1.3
apps, but
this is probably due to something I did wrong with the JVM configuration. I
may try again
soon.
What keeps me (mostly) hooked on VCafe is the speed of the build/run cycle.
Once an
application has been compiled once and then changed in one or more source
files,
compilation usually takes under a second on a P133. VC does some magic with
preparsing
which allows it to do very fast incremental compiles. I have seen no other
IDE that
compares for compile speed.
IBM Visual Age for Java 2.0 Standard Edition
----------------------------------------------------------------
This version is a free download, so the price is unbeatable. VAge's
repository-based
approach takes some getting used to; I threw it out in disgust after the
first look but
later came back and liked it. However, I still don't use their GUI builder.
It produces
good clean code with lazy creation of GUI elements but their drag-and-drop
idiom for
hooking up events is just too silly for my tastes. VAge has the greatest
debugger I
have ever experienced; you can run several programs side by side and break
into any
thread with the debugger at any time, or kill any thread. Highly
recommended for
debugging multithreading apps.
It takes a long time to shut down the IDE because the entire repository is
saved.
Crashes occurred, but very rarely. I don't think I ever lost any work.
Unfortunately, VA2 has JDK 1.1.6 or 1.1.7 hardwired into it, and I didn't
even consider
trying to make it work with J3D 1.2 .
IBM Visual Age 3.0 Standard Edition
-----------------------------------------------------
Same great price, newer JDK. This version supports Swing quite nicely.
Alas, I got a
hold of the Early Adopter's version and couldn't get it to run without
frequent crashes
on my machine. Sorry, no experience report (yet) with J3D.
Kawa 3.0
--------------
A bit of an outsider in the IDE race, Kawa sells for (I think) $35 from
www.tek-tools.com
and is billed as a "simple yet powerful" IDE. It's mostly just a
syntax-aware editor with
auto-completion, smart indent, sytax coloring and context-sensitive,
user-configurable
help. There are buttons for compiling, building, running and debugging
(with breakpoints,
single step, etc) and not too much else.
This is a tiny download because it comes without a JDK. You can just
configure it for
any JDK you happen to have lying around. If you have JDK documentation,
tell it and
it will show it to you when needed; if you have JDK source, tell it and it
can debug into
JDK source if you want. I have found this IDE to help my Java productivity
without being
intrusive and forcing me to adapt to its style. Best of all, I have never
seen it crash.
Kawa swallowed J3D with no problem, and allowed me to debug programs I couldn't
debug in VCafe. On a memory-challenged machine, its tiny footprint leaves
more room
for the JVM and your program than do other IDEs.
Tek-tools also sells a GUI builder that integrates with the IDE; I haven't
looked at it yet.
===================
Yes, this is a review; it reports on my experiences, with the given caveats
and disclaimers.
If you produce an IDE and feel misrepresented by me, tell me. Better yet,
send me a free
copy of your latest version and my review update may end up more positive.
But don't
bother trying to sue me - I am a poor hobbyist living in a developing country.
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".