Software Development

o Java
o
Java and me

Since the time back in 1996, when I had my first contact with the Java programming language, I liked it a lot and tried to use it whereever possible. E.g. in 1997 noone thought of server side Java, everyone was solely talking about Java applets at that time. However, the users of our webpages at the former "Michstrasse online" (now Tomorrow-Focus AG) had much fun using the Pinboard- and Forum-Pages that I implemented with first class Java CGIs. Moreover, the advantages of platform independence showed nicely, as I developed them on Windows and MacIntosh-systems. I also wrote two nicely working chatservers at that time.

Java has matured in the meantime, and nowadays hundreds of great API's are available that allow Java to be used in almost all programming domains. After more than six years of Java experience I still like it a lot, but some flaws begin to show. One of it is the large amount of "noise" in form of downcasts and long winded expressions due to the static typing nature of Java. Some of this will be released with the appearance of generic types in upcoming JDK 1.5. A big help is for me also the use of a good development environment. I strongly recommend IntelliJ-IDEA™ by JetBrains™, Inc. to everyone seriously interested in Java programming. The upcoming 3.0 version is by far the best IDE for the Java language I ever saw.

Tools I like

Here are some links of stuff I recently found interesting or useful.

  • As said before, have a look at IntelliJ-IDEA™. A free (time limited) evaluation version is available.
  • Looking for a great and cheap EJB Application server? Try JBoss.
  • You want more reliable code and a good feeling when you have to modify your existing codebase? Use unit tests! A free package and docs available at www.junit.org.
  • Confused by the complicated AWT GridBagLayout? have a look at SUN's new TableLayout.
  • JTree and JTable are not satisfying your requirements? SUN offers a swing add-on called JTreeTable that combines the advantages of Tees and Tables.