With the widespread use of Java a new program documentation system called JavaDoc was introduced. JavaDoc [JDoc] comes with the Java development kit and is thus available for free to every Java programmer. The idea behind JavaDoc is quit different from that of WEB, though it is based on the ``one source'' paradigm as well. JavaDoc is a tool which extracts documentation from Java source files and produces nicely formatted HTML output. Consequently, JavaDoc is tied to Java as programming and HTML as typesetting language. By default JavaDoc parses Java source files and generates a document which contains the signatures of all public and protected classes, interfaces, methods and fields. This documentation can be further extended through specially formatted comments which may contain HTML tags.
Because JavaDoc is available only for Java, Roland Wunderling and Malte Zöckler created DOC++ [DOCpp], a tool similar to JavaDoc but for C++ as programming language. Additionally to HTML, DOC++ can create LATEX formatted documentation as well. Doxygen by Dimitri van Heesch [Doxygen], which was initially inspired by DOC++, is currently the most ambitious tool of this type which can also produce output in RTF, PDF and Unix man-page format. Both, DOC++ and Doxygen can create a variety of dependency-, call-, inclusion- and inheritance graphs, which may be included into the documentation.
These new documentation tools are mainly useful to create hierarchical, browesable HTML documentations of class libraries and APIs. They are intended for interface description rather than the description of algorithms or implementation details. Although some of them support LATEX, RTF or PDF output, they are not best suited for generating printed documentation.
Volker Simonis 2003-03-05