> The advantage against Java is, that you can test the
> method on-the-fly (interactivly, with actual values, and
> intermediate results) without the need for opening an
> editor, compiling and running, then starting the debugger
> or inserting trace code to locate the position where it's
> not working. At least this is very valuable (and
> time-saving) for prototyping e.g. a new algorithm or
> whatever else.
>
> Lots of possible errors can be found this way, before
> actually writing the program, just by testing these little
> code-snippets interactively.
I continue to use the KAWA IDE for java (many years discontinued) specifically because it provides an extremely fast compile and run cycle. I have tried many other IDEs (you can't find much of anything that doesn't have the sheer weight of J2EE hanging over it any more), and have yet to find something as simple and effecient for me to use as KAWA. I have been working on a replacement written in Java that is a shameless copy of the UI.
I think that one of the new things in java, that perhaps very few people are using is the java.util.logging package. I find it extremely convenient to just do
Logger log = Logger.getLogger( getClass().getName() );
in the class definition. I can then turn on and off logging in each class and at various levels. I am planning on putting a logging pane into the my IDE that will use annotations (jdk1.5) to find the logging setup in each class, and provide a mechanism to let me dynamically reconfigure logging while I am developing.
With Jini services, I think that I'll use annotation to point out that there is a "LoggingAdmin" implementation visible in the service, and let the IDE find the ServiceUI for that, and display it in the IDE while I am developing. This would make it possible to change the logging while the program is running and thus have a pretty interactive debugging facility.