Categories
Die Programmiersprache Tcl

Meine Berührungspunkte mit Tcl/Tk über die Jahre hinweg

Diese Zeilen schreiben ich am Vorabend eines Interviews zu einem Auftrag, bei welchem Tcl/Tk eine tragende Rolle spielt.

Ich überlege so, wann ich in den Jahren mit Tcl bzw. Tcl/Tk oder Tk zu tun hatte.

Anfang der 90-er Jahre (wohl so ca. 1992/1993) hörte ich zum ersten Mal von Tcl/Tk, und ich verband damit die Hoffnung, die Bedienung “beliebiger”, graphischer Oberflächen scripten zu können. Da hatte ich etwas in den falschen Hals bekommen; ich hätte es halt mal herunterladen, installieren und die Demo-Software durchspielen müssen. Aber ich konnte ja auch nicht wissen, dass Tcl/Tk mit echt bemerkenswert hübscher Demo-Software daherkam.
Ich war damals in einem Projekt, bei dem auf SunOS4 mit Open Look / xview eine graphische Oberfläche gebaut wurde, und den Test der GUI zuverlässig scripten zu können, das wäre schon eine tolle Sache gewesen. Das scheint bis heute eine wackelige Angelegenheit zu sein: Record+Play hängt immer davon ab, dass sich die Dimensionen und das Layout nicht ändern.

Zwischendurch lass man dann einen derben Spruch von RMS über John Ousterhout. An Details erinnere ich mich nicht mehr, aber es machte nicht Mut, sich mit Tcl/Tk zu beschäftigen. Die Sprache an sich ist nicht wirklich der Bringer. Ousterhout schien nicht, der Programmiersprachen-erfahrene Sprach-Designer zu sein. AWK und Lisp werden als Einflussgrößen für Tcl genannt. Ich hätte immer C-Shell gesagt, mehr als AWK. So viel von Lisp kann in Tcl nicht gelangt sein. Wirklich nicht. Leider.

Zum Jahreswechsel 1994/1994 geriet ich in die berufsmäßige Selbständigkeit, welche auch zur Folge hatte, dass ich mich im Home-Office IT-mäßig auf eigene Beine stellen musste. Ich entdeckte Expect (eine Tcl-Erweiterung) als die tollere Chat-Script-Sprache, um meine PPP-Modem-Einwahlversuche zu automatisieren.

1995 war ich in einem DASA/ERNO-Projekt, bei dem Ada und Oracle eingesetzt wurden. Ich geriet dort zusammen mit einem anderen (echteren) Berliner Software-Nomaden, mit welchem ich über Tcl/Tk schwadelte.

1996 wurde ich nach Manchester gerufen, wo Expect in einem Projekt zum Testen von Software im Verkehrstechnik-Umfeld eingesetzt wurde. Eigentlich nicht die echten Expect-Erweiterungen sondern nur ein leicht komfortableres Tcl.

Noch in 1996 zog es mich nach München, wo wir Tcl/Tk im EDIFACT-Umfeld einsetzten. Dieses Mal sogar wirklich incl. Tk.

Von München ging’s weiter nach Antwerpen. Hier wurde ein Tcl/Tk-Script entwickelt, welches nicht nur auf einer Unix-/Linux-Plattform sondern auch auf Windows und Mac OS <=9 laufen sollte. Und es lief. Nicht besonders GUI-mäßig aufreizend, und den wahren Windows- und Mac-Programmierern ein echter Graus, aber es lief. Das Tcl/Tk-Script wrappte RCS . Der erschwerende Faktor war die Resource Fork auf OS 9. Die musste immer parallel in RCS mitgeführt werden. Das war nicht so richtig erheiternd. Diente aber meinerseits dem Broterwerb. Die GUI wurde mit SpecTcl gebaut, einem freien GUI-Builder von Sun für Tcl. Das war erstmal die letzte direkte Berührung mit Tcl.

Mit Tk kam ich 1997 wieder in Berührung, als ESR mit einem Konfigurationsprogramm für fetchmail von sich reden machte, welches er in python mit Tkinter implementierte. Tkinter kapselte Tk für python. Ich kam damals zwar nicht dazu, mit Tkinter etwas Sinnvolles zu bauen, aber ich versuchte mich mit python und IMAP, und die passenden Spuren findet Google wohl bis heute.

Später (wohl nach 2003) probierte  ich auch mal perl/tk für ein Projekt, aber es kam zu keinem Einsatz.

Im Gegensatz zu C, perl und bash kennt / kannte Tcl keine Möglichkeit, im Code die Zeilennummer einer Quellzeile in Ausdrücken bzw. Trace-Ausgabe zu verwenden. Das inspirierte mich zu einem Mini-Präprozessor, der mir eine gewisse Zeit meines IT-Lebens ganz nützliche Dienste leistete.

Jetzt vor dem Einschlafen und morgen Vormittag werde ich noch Staub von ein paar alten Schinken pusten:

  • dem Ousterhout-Buch (1994),
  • dem Buch von Brent B. Welch (1995)
    (dieses Buch gibt es sogar in einer 4. Auflage, upgedatet für Tcl 8.4),
  • dem Expect-Buch von Don Libes aus dem Verlag o’Reilly (1995 auf Papier bzw. 1996 als PDF),
  • der Pocket Reference aus dem Verlag o’Reilly (1998 auf Papier und als PDF).
  • Letzte Woche ergänzte ich die Dead-Tree-Bücher durch die genannten PDFs;
    das o’Reilly-Nutshell-Buch aus dem Jahr 1999 kam dabei als PDF ganz neu in meine Sammlung.
Update 2011-09-27:
Das Interview heute Vormittag wurde kurzfristig gecancelt, weil das entsprechende Haus keine Lust auf weitere Interviews hatte.