Homepage Stefan Krauß
Informatik

Die Skriptsprache Tcl/Tk

Tcl steht für "Tool Command Language" und ist im Kern eine einfache, interpretierte Skriptsprache. Ursprünglich wurde sie als universelle Skriptsprache für beliebige Programme entwickelt. Programme sollten durch Einbinden des Tcl-Interpreters auf einfache Weise mit einer Skripting-Schnittstelle ausgestattet werden können. Der gemeinsame Grundwortschatz (z.B. für Bedingungen, Schleifen, Umgang mit Variablen usw.) muss dabei nur noch um applikationsspezifische Befehle erweitert werden.

Für Tcl gibt es eine große Menge an Erweiterungspaketen, die die Sprache um viele Fähigkeiten bereichern. Ein solches ist Tk, das "Toolkit". Dieses erweitert Tcl um Befehle zum Aufbau einer grafischen Benutzungsoberfläche (ursprünglich für das X Windows System). Da diese Erweiterung fast von Anfang an fester Bestandteil von Tcl war, spricht man meist nur noch von Tcl/Tk.

Tcl und Tk wurden so etwa ab 1987 von John Ousterhout entwickelt. Die Entwicklung fand ursprünglich unter Unix und für das X Windows System statt, längst ist Tcl/Tk aber auf verschiedenen Unix-Systemen, Linux, MacOS und natürlich Windows zu Hause. Bei ActiveState gibt es auch eine kommerzielle Version von Tcl/Tk mit einer entsprechenden Entwicklungsumgebung.

Hier ein paar Links zu typischen Tcl/Tk-Anlaufstellen im Internet, man findet aber auch auf anderen Seiten viele Informationen:

Die Sprache ist sehr einfach und gut in andere Applikationen zu integrieren. Skripte lassen sich leicht portabel halten. Ich verwende Tcl/Tk manchmal, wenn ich schnell ein kleines, portables Skript mit grafischer Oberfläche benötige.

Ich habe einige Buchhinweise zu Tcl/Tk-Büchern zusammengestellt, mit denen ich selbst gearbeitet habe. Da meine aktive Tcl/Tk-Zeit schon ein bisschen zurück liegt, veraltet diese Aufzählung leider etwas. Inzwischen gibt es vom ein oder anderen Buch sicher eine neuere Auflage. Außerdem lohnt auch ein Blick in den aktuellen Buchmarkt.

Allerdings muss man feststellen, dass der Stern von Tcl/Tk inzwischen nicht mehr so hell leuchtet. Es gibt zwar nach wie vor eine aktive Entwicklergemeinde, die Weiterentwicklung verläuft aber nicht mehr so dynamisch wie vor einigen Jahren. Das muss allerdings kein Nachteil sein, denn die Sprache, die Bibliotheken und die Entwicklungsumgebung wird weiter gepflegt und fortentwickelt.