No Fluff Just Stuff - September 2008 Notes

No Fluff Just Stuff - September 2008 Notes

This builds on top of JavaOne 2008 Notes previously attended.

Suggested Books / Reading


  • Clojure - Clojure is a dialect of Lisp that runs on the Java Virtual Machine. It is a general purpose language sporting interactive development, and it encourages a functional programming style that enables simplified multithreaded programming. Clojure honors the code-as-data philosophy and has a sophisticated Macro system with features such as automatic gensyms.
  • Erlang - Erlang is a programming language which has many features more commonly associated with an operating system than with a programming language: concurrent processes, scheduling, memory management, distribution, networking, etc.
  • Fan - Fan is a general purpose object-oriented programming language that runs on both JRE and .NET CLR. The language is also a functional programming language in the sense that it supports functions as first-class objects. Concurrency is supported by implementing the Actor Model as used by Erlang. Fan uses static typing but has also support for dynamic typing. Fan uses a curly brace syntax similar to C# and Java.



Regular Expressions

  • QuickREx - Regex Tester Eclipse plugin. Also has a standalone app.
  • Regex - Eclipse Regular Expression Tester

Google Web Toolkit

Open Source Tools

For a list of hundreds of open source Java tools go to

Build Systems

For more tools than the ones listed below go to

  • Ivy - Ivy is a free java based dependency manager, with powerful features such as transitive dependencies, ant integration, maven repository compatibility, continuous integration, html reports and many more.

Code Analyzers

For more tools than the ones listed below go to

  • PMD/CPD - PMD scans Java source code and looks for potential problems. Includes a copy+paste code detector.
  • JLint - Jlint will check your Java code and find bugs, inconsistencies and synchronization problems by doing data flow analysis and building the lock graph.
  • Condenser - Condenser is a tool for finding and removing duplicated Java code. Unlike tools that only locate duplicated code, the aim of Condenser is to also automatically remove duplicated code where it is safe to do so.
  • QJ-Pro - Developers can automatically inspect their Java source code and improve their Java programming skills as they write their programs. QJ-Pro provides descriptive Java patterns explaining error prone code constructs and providing solutions for it.
  • Hammurapi - Hammurapi 5 is a versatile automated code review solution. It allows you to establish code governance processes in your organization by injecting automated code review “hooks” into development and build processes.
  • JDepend - JDepend traverses Java class file directories and generates design quality metrics for each Java package. JDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to manage package dependencies effectively.
  • JarAnalyzer - JarAnalyzer is a dependency management utility for jar files. It's primary purpose is to traverse through a directory, parse each of the jar files in that directory, and identify the dependencies between the jar files. The output is an xml file representing the PhysicalDependencies between the jar files.
  • Macker - Macker is a build-time architectural rule checking utility for Java developers. It's meant to model the architectural ideals programmers always dream up for their projects, and then break – it helps keep code clean and consistent. You can tailor a rules file to suit a specific project's structure, or write some general “good practice” rules for your code. Macker doesn't try to shove anybody else's rules down your throat; it's flexible, and writing a rules file is part of the development process for each unique project.
  • JavaNCSS - JavaNCSS is a simple command line utility which measures two standard source code metrics for the Java programming language. The metrics are collected globally, for each class and/or for each function.
  • DoctorJ - Beyond the level of what Javadoc does, DoctorJ compares documentation against code.
  • XRadar - The XRadar is an open extensible code report tool currently supporting all Java based systems.
  • diffj - DiffJ is a command-line program based on diff (from Unix), but is designed specifically for Java code. It compares only Java source code, not whitespace nor comments. It also handles reorganization of Java code, so that, for example, methods that have been moved within the same class – but have not otherwise changed – are not considered to be different.
  • Jupiter - Jupiter is an Eclipse IDE Plug-In for doing code reviews.
no_fluff_just_stuff_-_fall_2008.txt · Last modified: 09/26/2008 14:59 by Daniel Kirkdorffer
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki