Tools

One of the most important skills in professional development is knowing how to use tools. There are a wide variety of tools available, from the standard text editor and compiler to full-blown IDEs that do everything for you. Selecting the best tools for the job will make you a more productive developer.

UML Diagramming

For creating diagrams in UML, I use a product called Magic Draw UML, by No Magic, Inc. (http://www.magicdraw.com/). This tool is, without a doubt, the best professional UML modeling tool on the market. Rational Rose and Together can't even touch the functionality and quality of Magic Draw. I like it so much that I bought a copy of the Enterprise version for myself. I highly recommend this product. Although it isn't free like other tools I recommend, it is well worth the price.

IDE

The IDE I use is Eclipse 3.0M4, which happens to be the IDE I use professionally as well. Eclipse simply has the single best development tool on the market. I don't know how I could live without my refactoring tools and the other goodies that come with Eclipse. You can find Eclipse at http://www.eclipse.org/. Also, I use many Eclipse plug-ins to make my job easier. They can be found in the Community section of eclipse.org, or you can surf the best directory of Eclipse plug-ins at http://eclipse-plugins.2y.net/eclipse/index.jsp.

Out-of-IDE Building

For building outside of my IDE and running examples, I use Apache Ant 1.5, which is available from http://ant.apache.org/. Ant is simply the best make program ever invented. I take my hat of to the folks at Apache.

Logging

I use Jakarta Log4J to do logging in my programs. Log4J is available from http://jakarta.apache.org/log4j/docs/index.html. In much of the sample code, there is little logging. However, in production systems, I am a logging fanatic.

Screenshot

For those of you that are curious, I don't use the JDK 1.4 logging mechanism because it is, in my opinion, vastly inferior to Log4J on many levels.


Jakarta Commons

Another set of libraries that I often use in my professional code is the Jakarta Commons Libraries. These libraries are available from http://jakarta.apache.org/commons/index.html. They extend the JDK to include things that Sun either forgot to include or decided not to include in the JDK. Many of the common tools you will learn about later in the tutorial, such as ConstantObject, will be submitted to Jakarta Commons after this tutorial is published to make them more reusable. For now, though, you will find these tools in the Hardcore Java source code itself. If you haven't checked out the Commons Libraries, I strongly advise you to do so.

      
Comments