Re: jGRASP highly recommended
Thanks for the positive comments.
CTRL-INSERT etc. do work in the latest version.
Focus-follows-mouse can be turned off. This is just a keyboard-focus-follows-mouse within a virtual desktop (mouse clicks will still raise a window), which was all that was practical to implement in Java. In Windows ffm is off by default so as not to confuse those who have never worked in an ffm environment.
Finding the "exit point" of a "throw" would require some detailed semantic analysis, which we do not do in order to keep CSD generation fast.
It is true that if you plan to use jGRASP for editing with CSDs, you have to stick with our indentation format, but if you have the option to use the CSD all the time, it is an ideal format. We are planning to add a read-only CSD mode so the CSD can be used without danger for code reading.
The debugger is fairly basic now, but has good thread-control and value display. We are currently upgrading it, adding (nearly) full Java expression evaluation, ability to change values, a workbench-type mechanism, and other features.
jGRASP highly recommended
I had been looking for a code viewer to handle source code folding for some time. I found a few that cost two to four hundred dollars, and found a few crappy free ones. This one is free and it works incredibly well.
I wouldn't use it as an editor, but it's more designed as a source code viewer. Despite being based on java, the responsiveness is good. As it claims in the description, it allows meaningful code folding. This allows you to, for example, collapse a very large if statement or for loop that is not pertinent to the code you are viewing.
The structure of the diagramming itself is fairly well thought out. A double line is used to represent loops, and a dotted line represents branch statements. Catch blocks, function headers, and internal control structures are all differentiated visually. Return, break, and continue statements have a line which points to the control structure that is being escaped to.
I would recommend this to anyone trying to grasp large sections of code written by someone else. For example, I often have to wade through functions that are over a thousand lines in length and 7 levels deep in control structures. This program is very helpful for letting me cut away the details I don't need to see. For smaller projects, it probably isn't very useful. Editting is fine if you are starting out a project, or if you don't mind the files you work on being reformatted.
One caveat: editting files with this program will likely autoformat everything, causing you problems when using source safe.
Some nitpicks: Throw statements should work like return, break, and continue statements but they do not. My favorite means of copying, inserting, and cutting text do not work (CTRL-INSERT, SHIFT-INSERT, SHIFT-DELETE). There is no means to browse all open files easily (like TextPad has). You have to use the drop down menu from the menu bar. Mouse behavior is focus-follows-mouse, which I like, but others may not. Finally, the editor works fine, but you'll lose bits and pieces of the structural diagram as you edit. You'll have to regenerate the diagram periodically.
I have not yet evaluated the debugging environment. I would recommend using the latest version of jdk (1.4.1 as I write this) for using with this program.
An open, cross-platform journaling program.
A scientific plotting package.