Literate Programming à la Knuth
Eine umfassende Programmdokumentation wird leider immer noch von vielen
Programmierern als verzichtbarer Luxus
betrachtet; eine solche
Einstellung behindert die Wiederverwendung von Code und die
Kommunikation mit Mitarbeitern in Projekten.
Der Informatikpapst
Donald E. Knuth hat bereits vor Jahrzehnten
bei der Schaffung seiner ΤΕΧ und METAFONT Programmsuite ein
Dokumentationstool geschaffen, das in einer weiterentwickelten Variante
(NoWEB) erlaubt, Programme INNERHALB einer Dokumentationsumgebung zu
entwickeln, sodaß die künstliche räumliche Trennung zwischen verbalen
Erläuterungen und dem technischen Korsett der Programmsyntax aufgehoben
wird.
Da die Dokumentation selbst in der mächtigen Beschreibungsschreibe ΤΕΧ verfaßt wird, lassen sich so auch Matrizen, Mehrfachintegrale, nichteuropäische Schriften und chemische Strukturformeln zeitgleich mit den sie verarbeitenden Programmen eingeben, was sonstige Programmdokumentationstools hoffnungslos überfordern würde.
Der Vortrag stellt die Vorgehensweise bei einem Projekt vor, in dem ganz unterschiedliche Programmsprachen in einem gemeinsamen Dokument verwendet wurden und das neben den Programmteilen (in maschinenlesbarer Form) eine .pdf-Datei ausgibt, die eine umfassende Beschreibung & Erläuterung dieser Programme (nebst Inhalts- und Stichwortverzeichnis) umfaßt.
Wolfram Schwenzer, Diplommathematiker, Informatiklehrer, mehrere Jahre in der Lehrerfortbildung (mnu) tätig, interessiert sich für audiovisuelle Kommunikation & webbasierte Dokumentationsverfahren sowie die zugehörigen Tools (Unicode, Docbook, ΤΕΧ & Co) und verwendet seit langem frei zugängliche, betriebssystemunabhängige Software in diesem Bereich.