Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenFreitag, 24. Mai 2013 

Tcl


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
Tcl (ursprünglich "Tool command language" also etwa ist eine Skriptsprache sehr leicht zu lernen und in Hinsicht Lisp sehr ähnlich. Andere Ähnlichkeiten bestehen zu C und Unix-Shell-Sprachen.

Sehr bekannt ist Tcl durch das Tk Toolkit mit dem sich portable grafische Benutzeroberflächen leicht programmieren lassen. Der grafische Werkzeugkasten steht für eine Vielzahl von Betriebssystemen mit für die jeweiligen Fensterverwalter üblichen Aussehen ("native and feel") zur Verfügung. Diese Programmierschnittstelle wird von Perl und Python benutzt. Die Kombination aus Sprache und auch bekannt als Tcl/Tk stammt von John Ousterhout .

Tcl ist im Grundsatz sehr einfach und grenzt sich gegen Sprachen wie Perl APL und C durch absolut konsequenten Einsatz einer einheitlichen Syntax ab. Es gibt nur ein einziges und an Sonderbedeutungen von Zeichen lediglich die eckigen und geschweiften Klammern und dem Rückstrich wenn man von Anführungsstrichen für Zeichenketten einmal Damit keine Verwechslungen auftreten sind beispielsweise einfache (Hochkommata) sowie einfache Gleichheitszeichen (=) völlig unbekannt. gibt nur doppelte Anführungen ("hallo") und das Gleichheitszeichen (für Vergleiche).

Alle Anweisungen sind immer gleich aufgebaut von Konstrukten wie if und while über bis hin zu Kommentaren. Ja auch der ist ein gewöhnliches Kommando das einfach nichts

Tcl ist eine typlose Sprache so jede Variable abwechselnd alle Grund-Datentypen Ganzzahl Fließkommazahl und Zeichenkette enthalten kann. Die Verwendung einer nicht Variable führt allerdings zu einem Fehler - Gegensatz zur Programmierung mit dem Unix- Kommandozeileninterpreter oder awk. Konstrukte wie assoziative Arrays und Listen werden in Tcl oft angewendet.

Tcl-Programme enthalten keine kryptischen Operatorfolgen sondern Anweisung besteht immer aus einem Kommandowort dem einer oder mehrere Parameter folgen. Ein Kommando wird von einem oder Semikolon begrenzt.

Geschweifte Klammern schützen ihren Inhalt von Dadurch können Kommandos dann auch mehrere (auch viele) Zeilen

Der Inhalt eckiger Klammern wird als ausgeführt und dann durch sein Ergebnis ersetzt. kann auch mehrfach ineinander geschachtelt passieren.

Zuweisungen geschehen mit dem Kommando set ohne ein Gleichheitszeichen. So ist auch hier Bruch in der extrem einfachen Syntax vorhanden:

 set variable value  

Tcl kennt sehr leistungsfähige Kommandos zur von (auch langen) Zeichenketten - mindestens ebenbürtig von Perl und Python ebenso Dateibearbeitung TCP/IP -Netzkommunikation und über Tk grafische Programmierung und ist in all völlig plattformunabhängig. Der Java -Wahlspruch write once - run anywhere wird hier Wahrheit; zumindest auf den Unix (diverse) Windows und Mac.

Tcl wird übrigens nicht nur auf Kommandozeile sondern auch als embedded language als CGI -Sprache (wie sonst oft Perl ) und als Modul im Apache - Webserver (wie sonst oft PHP ) eingesetzt. Sie ist über eine einfache zu C leicht erweiterbar.

Hier ein kleines Beispielprogramm in Tcl/Tk Digitaluhr in 6 Zeilen (Quelle: The Tcl'ers wiki - A simple A/D ) :

 proc every {ms body} { eval after $ms [list every $ms $body] } [label .clock -textvar time] every 1000 {set [clock format [clock sec] -format %H:%M:%S]}  

In den ersten vier Zeilen wird Zeitgeber (Timer) angelegt der ein Skript "body" alle "ms" Millisekunden ausführt (indem er sich zum Wiederaufruf vormerken läßt). In der fünften wird ein Label in einem Fenster auf Bildschirm angelegt und mit einer Variablen "time" In der sechsten Zeile wird der Timer aufgerufen um jede Sekunden die Variable "time" die aktuelle Uhrzeit im Format Stunde-Minute-Sekunde zu Fertig ist ein komplettes Programm mit GUI .

Erweiterungen

XOTcl ist eine objektorientierte Erweiterung. Sie unterstützt auch Metaklassen. Definitionen Klassen und Methoden sind vollständig dynamisch änderbar.

Siehe auch

Weblinks




Bücher zum Thema Tcl

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/Tcl.html">Tcl </a>