gif gif gif gif Index Literaturverzeichnis Mail
Nächstes: Tcl und Java Nach oben: GUI Entwicklungsumgebung für den neuen Prototyp Vorheriges: GUI Entwicklungsumgebung für den neuen Prototyp

Tcl

 Tcl  (,,Tool Command Language``) ist zum einen eine Programmiersprache und zum anderen eine Bibliothek. Tcl/Tk  (Tk, ,,Toolkit``) eignet sich aufgrund seiner extrem hochsprachlichen Konzeption (engl.:  ,,Very High Level Language``,  VHLL ) und seiner graphischen Fähigkeiten hervorragend zur schnellen und portablen [Zim1997] Entwicklung graphischer Oberflächen [Joh1997a] und Visualisierungen  [HSAS1996], insbesondere im Klienten-Server  Bereich für  Intra- und Internetlösungen  [TZ1998]. Aufgrund des Entwurfs eignet sich Tcl/Tk  für schnelle Entwicklung, graphische Benutzerschnittstellen und plattformübergreifende Entwicklung. Tcl ist auf verschiedenen Ebenen erweiterbar. Dank der Verfügbarkeit des Quellentexts  sind Tcl/Tk Interpreter für alle wichtigen Plattformen einsetzbar. Im Gegensatz zu den meisten Hochsprachen, beispielsweise C , muß der Entwickler bei Tcl keine kompletten Codebäume liefern, um Entwicklungen z.B. an bestimmte Plattformen anzupassen.

 Tcl / Tk  und X11 sind besonders prädestiniert für Ereignis-Programmierung  (comp.lang.tcl [V: k.A.] [Ä: k.A.] [Z: 25.01.2001]). Auch wenn in den letzten Jahren viele sehr gute Sprachen und Werkzeuge für eine effiziente Entwicklung und die Erstellung von Oberflächen entwickelt wurden und einen breiten Einsatz gefunden haben, wie z.B. Python und  GTK+ , so ist Tcl auf dem Gebiet der Ereignis-Programmierung selbst bei kritischer Betrachtung immer noch die erste Wahl [Sch2000a].

Für diesen Zweck stehen in Tcl eine Vielzahl von Ereignistypen und Modifizierer sowie die Möglichkeit zur Verfügung neue Ereignistypen und Ereignisse,  wie virtuelle  und synthetische,  d.h. zusammengesetzte Ereignisse  zu definieren [RT1999].

Insbesondere interaktive X11 Anwendungen bewegen sich während des größten Teils der Laufzeit in einer Ereignis-Schleife  (engl.:  ,,event loop``).

 Tcl / Tk  Programme laufen im wesentlichen in zwei Phasen ab. In der ersten wird die Anwendung initialisiert, die Oberfläche aufgebaut und die Datenstrukturen geladen. In der zweiten Phase begibt sich das Programm in eine Ereignis-Schleife , die auf entsprechende Ereignisse wartet. Die Ereignisse  ihrerseits rufen eine Routine zur Handhabung der Ereignisse (engl.:  ,,event handler``) auf, der veranlaßt, die mit dem Ereignis verbundenen Instruktionen auszuführen.

Während der Aufbau der Tool Command Language ( Tcl ) eher prozeduralen Charakter hat, enthält das entsprechende Toolkit  Tk  eine Fülle objektorientierter Elemente.

Als Toolkit   (,,Werkzeugkasten``) werden im allgemeinen gesammelte Hilfsmittel für besondere Aufgaben bezeichnet. Bei  Tcl / Tk  ist das Toolkit  Tk  primär eine Zusammenstellung von Funktionen zur Erstellung graphischer Fensterelemente.

Dabei handelt es sich z.B. um Elemente (engl.:  ,,widgets``), die helfen, den Aufbau einer graphischen Oberfläche besser zu strukturieren [Joh1994].

Sehr mächtige Funktionalitäten stellt  Tcl  im Bereich der Prozeß-Kommunikation ( IPC ) über seine fileevent und send Fähigkeiten   zur Verfügung. Die dadurch erreichten Möglichkeiten gehen weit über das hinaus, was man diesbezüglich von allen anderen modernen Shells, z.B. der hervorragenden Bourne Shell kennt. Die Basis dieser Fähigkeiten ist es, ein Skript auszuführen, wenn ein Kanal (engl.:  ,,channel``) lesbar oder schreibbar wird. Auf diese Weise können Verbindungen (engl.:  ,,file event handler``) zwischen einem Kanal und einem Skript bzw. Ereignis hergestellt werden.

Eine wesentliche Eigenschaft von  Tcl  ist, daß Kommandos in Tcl Listen als Argumente empfangen und sie als Kommandos einlesen können. So entstehen konventionelle Kontrollstrukturen als Kommandos und nicht syntaktisch.

Diese und weitere Eigenschaften haben zu einer großen Vielzahl verschiedener Produkte geführt, die auf Tcl/Tk basieren oder dieses nutzen [Lai1995] [Vir1996] und in letzter Zeit auch zunehmend mit zahlreichen Beispielen in den Bereichen Umwelt,  Kommunikation und Informationssysteme [HLS2000] [Zer2000].


gif gif gif gif Index Literaturverzeichnis Mail
Nächstes: Tcl und Java Nach oben: GUI Entwicklungsumgebung für den neuen Prototyp Vorheriges: GUI Entwicklungsumgebung für den neuen Prototyp


Claus-Peter Rückemann / ruckema@uni-muenster.de / Tel. --
Sun Jan 20 19:17:16 MET 2002