Jacob and Other Tools

Well, the most obvious things that Jacob is missing, is a debugger, a gui builder and maybe an object-oriented modelling tool for UML (unified modelling language). Following are some of my recent thoughts regarding such tools.
Debugging (01/12/1998)
When I started programming in Java the sun's standard debugger was completely broken. When Symantec entered the scene with Cafe, their debugger was also not very stable and not usable for anything more than applets. Therefore I completely gave up on using a debugger.
But surprise surprise I don't miss a debugger anymore. With Emacs, all my debug (print) statements go into a big buffer. That gives nice trace information and with Emacs search functions it's very convenient to look at the data no matter how much information is printed out. That way I can run through the whole program, and can then look at the details that matter (ignoring a bulk information), no need for time consuming single step walkthroughs. Of cause, the drawback is that a) a lot of debug statements a riddled across the sources (oh oh, they shouldn't be counted as source statements as I do right now) and b) these statements must be typed in.
Also I find the idea to use a debugger to step through absolutely every single line of new code before doing the first test run very appealing.
I haven't looked at jdb again and i don't know if there is a comfortable way to use it inside of Emacs. But just recently I looked at IBM's pure Java debugger JD and I like it very much. It's maybe not fast, and not that much comfortable, but it seems pretty stable and powerful (for me it didn't crash in the debug mode, but when playing to much in the class's list). Maybe I won't use it on a daily basis, but sure I will use it for 'special' problems.
Maybe I will do an interface to start Jikes out of Jacob/Emacs with the right parameter.
GUI Builder (01/12/1998)
Hmm, still looking for a decent gui builder. The one of Sun's Java Workshop looked very good. But my version expired and it's not fun downloading such a monster with a modem ;). The problem with most gui builders I have seen so far is that they have their own intermediate format or are messing up with the source code. I do not want to get locked to a special tool or additional package library just because I created some forms with this tool. JForge by Cameron Newham seemed to be the right solution for me, even if it's a small tool. It creates source code, but recreates the layout information out of the compiled class file. Unfortunately it's unusable as long as no one fixes the SpringLayout manager that JForge uses. Or is it intended that space between two components that can vary gets always evenly distributed between these components. Sad that Sun dropped the SpringLayout manager in swing 0.7. A good SpringLayout manager should be generic enough for almost all situations and because windows start with default coordinates it should be also very fast. I have the feeling, GridBagLayout for more complex dialogs is sometimes very slow. Anyway, looks like I will stick some more months to handcoding my dialogs with a more comfortable version of a GridBagLayout manager.
OO Modelling Tool (01/12/1998)
Rational Rose seems to waste its (our) time with Visual Basic for Applications. Anyway, I always had the impression they rely more on their sales force than on their development team.
Right now I am only aware of one pure Java UML tool, LOREx2. I don't find it very usable, but let's wait and see if this or something else will grow up.
(05/15/1998) Well, meantime Together/J gained some ground and seems to be quite popular by now. I haven't had the time yet to play around with it, but I hope it's usable and if it is possible I plan to write a wrapper class for it to connect it to Jacob.
Back to Jacob's home page
Chr. Clemens Lahme, email to: Clemens.Lahme@gmd.de