Tcl (tool command language)

Tool Command Language (Tcl) - gesprochen "tickle" (engl. kitzeln) oder te-ce-el - ist eine einfache, jedoch sehr leistungsfähige, interpretierte Scriptsprache, die generell als Open Source zur Verfügung steht - im Dezember 2009 in der Version 8.5.8. Tcl wurde bereits ab 1988 an der University of California, Berkeley von John Ousterhout entwickelt, der diese Arbeiten auch dann später bei SUN Microsystems weiterführte. Tcl ist besonders populär in Verbindung mit der Erweiterung Tk (Toolkit), die Funktionen zur Entwicklung grafischer Benutzeroberflächen bietet. Ein großer Vorteil von Tcl liegt darin begründet, dass es sowohl erweiterbar als auch leicht in andere Applikationen zu integrieren ist.


Tcl ist sehr flexibel und unterstützt imperative, funktionale und objektorientierte Programmierparadigmen. Die Syntax von Tcl ist nach dem Grundsatz "radically simple" - also ganz einfach - aufgebaut, und ist beeinflusst von Programmiersprachen C und Lisp sowie durch die Unix-Shell. Auch sind einige Aspekte von der Bourne-Shell und Perl unverkennbar.

Applikationen für Tcl

Tool Command Language (Tcl) ist eine Scriptsprache, mit der neue Applikationen geschrieben und bestehende erweitert werden können. Dazu stellt sie typische Kontrollstrukturen wie Variable, Schleifen, Prozeduren zur Verfügung - also Konstrukte, die von einer Vielzahl von Anwendungsprogrammen benötigt werden. Einen besonderen Vorzug stellt die Möglichkeit dar, die Sprache in nahezu beliebige Applikationen einzubinden und ihre grundlegenden Sprachelemente durch anwendungsspezifische Funktionen zu erweitern: der Tcl-Interpreter besteht einfach aus einer Library von C-Funktionen, die zu Programmen "hinzugelinkt" werden kann und die neben der eigentlichen Implementierung der Sprache eine Reihe von Funktionen beinhaltet, mit denen der Sprachumfang von Tcl beliebig erweitert werden kann.

Tk ist ein Toolkit zur Plattform-unabhängigen Entwicklung graphischer Oberflächen. Tk ist einerseits eine Bibliothek, andererseits in Form von wish eine Anwendung. Tk besteht ebenfalls aus einer Bibliothek von C-Funktionen, bei deren Implementierung wiederum der Erweiterungsfähigkeit besondere Aufmerksamkeit geschenkt wurde. Dadurch sind Anwendungsentwickler in der Lage, die Funktionalität von Tk um neue Widgets (grafische Objekte) und sogenannte Geometry-Manager (Funktionen, die die Anordnung und Ausrichtung der Widgets einer Applikation, also ihr Layout kontrollieren) zu erweitern. Mit dem Tk können Entwickler grafische Benutzeroberflächen durch Tcl-Scripte anstatt durch C-Code erstellen.

Plattformen für Tcl

Tcl/Tk stehen für eine Vielzahl von Plattformen zur Verfügung - Windows, Linux, Mac OS X, Solaris, u.v.a. Das durch Tk definierte Application Programming Interface (API) wird u.a. auch von Perl, Python und Ruby genutzt. Ein Tcl-Script besteht grundsätzlich aus einem oder mehreren sogenannten Kommandos. Ein Kommando wiederum besteht aus einem Kommandowort gefolgt von Argumenten oder Parametern. Tcl stellt u.a. leistungsfähige Kommandos zur Bearbeitung von Zeichenketten - vergleichbar mit denen von Python und Perl - zur Verfügung. Ebenso sind Plattform-unabhängige Kommandos zur Dateibearbeitung, zur Kommunikation im Internet etc. vorhanden.

Beispiel: Der Interpreter wird mit tclsh oder tclsh-versionsnr aufgerufen. Tcl ist in Unix-Umgebungen bereits vielfach vorinstalliert. Sofern das grafische Toolkit mit inbegriffen sein soll, ist im Script require tk einzufügen.

Beispiel für Tcl

Beispiel für Tcl

Incr Tcl. Incr Tcl stellt ein Paket von objektorientierten Erweiterungen für Tcl und Tk (Toolkit) zur Verfügung, die somit die objektorientierte Programmierung mit Tcl ermöglichen. Dabei wird konzeptionell das Prinzip der Vererbung unterstützt.

Tcl3D. Erweitert Tcl um die Möglichkeiten einer 3D-Grafikprogrammierung. U.a. lassen sich damit Viewer für .dxf Dateien bauen.

Snit.Diese Erweiterung unterstützt ebenfalls die objektorientierte Programmierung mit Tcl; nutzt dazu aber konzeptionell das Prinzip der Delegation.

Tile und Ttk. Erweitern die ursprünglich Motif-orientierten grafischen Funktionen von Tk um graphische Benutzerelemente für ein natives Aussehen analog verschiedener Betriebssysteme.

XOTcl. Ebenfalls eine Erweiterung hinsichtlich Objektorientierter Programmierung, die zusätzlich Meta-Klassen unterstützt.

Die Anwendungen von Tcl sind vielfältiger Natur: Als leistungsfähige Sprache für die Kommandozeile, als eingebettete Sprache (Embedded Language), als Common Gateway Interface Sprache in Alternative zu Perl, als Modul in der Apache Web-Software in Ergänzung zu PHP und als Sprache für Prozeduren im Zusammenhang mit der Datenbank PostgreSQL.

Mit der Java Command Language (JACL) existiert eine Integration von Tcl mit der Java-Plattform.

http://www.self-tcl.de

http://www.tcl.tk

http://www.scriptics.com

Informationen zum Artikel
Deutsch:
Englisch: tool command language - Tcl
Veröffentlicht: 28.10.2013
Wörter: 683
Tags: #Sonstige Programmiersprachen
Links: Analog, Apache, API (application programming interface), Aspekt, Befehl