Racket (formerly PLT Scheme) is a programming language suitable for implementation tasks ranging from scripting to application development, including GUIs, Web services, etc. It includes the DrRacket programming environment, a virtual machine with a just-in-time compiler, tools for creating stand-alone executables, the Racket Web server, extensive libraries, documentation for both beginners and experts, and more. It supports the creation of new programming languages through a rich, expressive syntax system. Example languages include Typed Racket, ACL2, FrTime, and Lazy Racket.
GPP is a general-purpose preprocessor with customizable syntax, suitable for a wide range of preprocessing tasks. Its independence from any programming language makes it much more versatile than cpp, while its syntax is lighter and more flexible than that of m4. The syntax is fully customizable, which makes it possible to process text files, HTML, or source code equally efficiently in a variety of languages.
Unifdef is useful for removing #ifdef'ed lines from a file while otherwise leaving the file alone. You specify which symbols are defined or undefined with -D and -U flags, and unifdef removes the corresponding ifdefs, and the enclosed code if appropriate. It's especially useful for removing those "#ifdef BROKEN" and "#ifdef PRIVATE" clauses from code before you release it. Unifdef acts on #if, #ifdef, #ifndef, #elif, #else, and #endif lines, and it knows only enough about C and C++ to know when one of these is inactive because it is inside a comment or a single or double quote.
distcc is a parallel build system that distributes compilation of C/C++/ObjC code across machines on a network. It can be set up in just a few minutes and makes builds up to ten times faster. It does not require machines to share a filesystem or have the same libraries or header files, and installation does not need superuser privileges.
Barter is a tool for increasing the quality of applications written in Java. It allows the programmer to use design by contract and define other development aspects right in the classes and interfaces where they are relevant, as JavaDoc comments. It is essentially a code generator for AspectJ, implemented as an xDoclet task.