Anwendungsentwicklung mit Tcl und Tk
Zum Thema
Als Programmierer hat man es schon schwer: Moderne Programme sollen einfach und bequem zu benutzen sein (zum Beispiel über eine grafische Oberfläche), effizient laufen, leicht zu testen, zu warten und weiterzuentwickeln und auch vom Benutzer erweiterbar sein. Außerdem soll ihre Erstellung nicht zu lange dauern und sie sollen mit vernünftigem Aufwand auf die verschiedensten Betriebssysteme zu portieren sein. Wie kann man diesen Spagat vollbringen? Eine mögliche Antwort darauf geben John Ousterhouts frei verfügbare Programmiersprache Tcl und das dazugehörige GUI-Toolkit Tk.
Grundprinzip hinter Tcl/Tk ist, dass man für jede Aufgabe das richtige Werkzeug verwenden sollte. Herkömmliche Sprachen wie C oder C++ eignen sich besonders für maschinennahe Programmierung und Programmteile, die mit maximaler Geschwindigkeit ablaufen sollen. Wenn es aber zum Beispiel um grafische Oberflächen geht, leiden diese Sprachen an ihrer Unflexibilität und daran, dass sie nur für Gurus mit den nötigen Entwicklungswerkzeugen ein vernünftiges Arbeitsmittel darstellen. An dieser Stelle greift Tcl ein: Die Sprache ist sehr einfach und flexibel und speziell dafür gedacht, in Sprachen wie C implementierte Bausteine miteinander zu verknüpfen und (dank Tk) mit einer graphischen Oberfläche zu versehen, die auch von Endanwendern konfiguriert und an ihre eigenen Wünsche und Probleme angepasst werden kann. Einfache Anwendungen kann man sogar in reinem Tcl/Tk schreiben, aber erst in der Kombination der Skriptsprache Tcl mit einer Systemsprache wie C läuft das Konzept zur größten Form auf. Die Trennung in (in C geschriebene) Anwendungsfunktionalität und (in Tcl geschriebene) Oberfläche führt außerdem zu besser strukturierten Programmen, die sich auch einfacher systematisch testen lassen, und ermutigt zur Erstellung wiederverwendbarer Module. Tcl/Tk läuft nicht nur auf Linux, sondern auch auf diversen anderen Unix-Systemen sowie MS-Windows und Mac OS, so dass die meisten Programme leicht portiert werden können.
Dieser Vortrag gibt eine Einführung in die Grundideen von Tcl und Tk, die Prinzipien der Anwendungsentwicklung mit Tcl/Tk und illustriert die Konzepte am Beispiel von TkDVI, einem in C, Tcl und Tk implementierten Anzeigeprogramm für (La)TeX-Ausgabedateien. Er richtet sich an alle, die diese Art der Softwareentwicklung näher kennenlernen wollen - vom Hobbyanwender bis zum professionellen Softwareentwickler. Grundkenntnisse über Linux, Programmieren und ein bisschen C sind zum Verständnis des Vortrags von Vorteil; trotz der Ausrichtung auf TkDVI kommen die Beispiele ohne Details von TeX-Interna aus.
Zum Vortragenden
Anselm Lingnau arbeitet als wissenschaftlicher Mitarbeiter am Fachbereich Informatik der Universität Frankfurt. Als Linux-Benutzer seit Kernel 0.99.12 interessiert ihn Linux zum Programmieren und in verschiedenen Bereichen wie Desktop-Publishing, MIDI-Musik und Amateurastronomie. (Kernel-Hackerei überläßt er gerne anderen.) Sein ganzer Stolz ist seine Pinguin-Sammlung, die schon lange existiert hat, bevor der Pinguin zum Linux-Maskottchen erklärt wurde.
