Die Features der neuen Tcl/Tk-Version 8.4
Schneller, höher, weiter
von Carsten Zerbst
Erschienen im Linux-Magazin
2002/12
Sie ist schneller als die Vorgängerversion und mit neuen Widgets und vielen Verbesserungen unter der Oberfläche ausgestattet: Seit Mitte September ist Tcl/Tk 8.4 fertig. Spinbox, Labelframe und Panedwindow, Undo-Fähigkeit im Text-Widget und besseres Handling von Listen führen die Feature-Liste an.
Am 18. September war es so weit: Jeff Hobbs konnte das Release Announcement zu Tcl/Tk 8.4 versenden. Neben vielen Bugfixes für alle Plattformen, MacOS-X-Unterstützung und 64-Bit-Support bietet die neue Version eine ganze Reihe neuer Features, die für den Einsatz unter Linux interessant sind.
An der Basis
Änderungen an Tcl fallen auf den ersten Blick nicht so stark auf wie ein neues Widget in Tk - aber gerade an der Basis hat sich einiges getan. Eine wichtige Verbesserung kommt ohne neues Kommando aus: Tcl 8.4 ist schneller geworden, in einigen Fällen ist es doppelt so schnell wie die Vorgängerversion. Die neue Version übersetzt mehr Kommandos in Bytecode und führt ihn auch schneller aus als bisher. Besonders bei Schleifen mit »for« oder »while« fällt das neue Tempo auf, aber auch Operation mit Listen sind schneller.
Bei vielen Kommandos wurde die Syntax erweitert, es sind neue Optionen und Parameter hinzugekommen. Einige Befehle sind gänzlich neu. Tabelle 1 fasst die wesentlichen Änderungen und Neuerungen zusammen. Viel Feinarbeit ist in die Kommandos für Listen geflossen. Bei Tcl sind Listen die am häufigsten benutzte Datenstruktur, Verbesserungen in diesem Bereich sind daher besonders gern gesehen.
Die auffallendste Änderung betrifft den direkten Zugriff auf innere Elemente von geschachtelten Listen, also Listen, deren Elemente selbst wieder Listen sind. Sie werden häufig benutzt, um komplexe Informationen zu transportieren. Listing 1 wandelt den Inhalt von »/etc/group« in eine geschachtelte Liste um und greift dann auf ihre Elemente zu. Die Originaldatei könnte wie folgt beginnen:
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:
Diese Datei wandelt das Listing zeilenweise (mit Hilfe von »gets«) in Listenelemente um. Diese Elemente sind selbst wieder Listen (durch das »split«-Kommando getrennt). Das Ganze sieht dann so aus:
{root x 0 root} {bin x 1 root,bin,
daemon} {daemon x 2 {}}
Mit der Angabe von mehreren Indizes extrahiert »lindex« direkt ein beliebiges Element: »lindex $groups 2 0« greift auf die dritte Liste zu (die Zählung beginnt bei null) und darin auf das erste Element, also den String »daemon«. Früher mussten dazu mehrere Kommandos geschachtelt werden.
Das neue »lset«-Kommando verändert direkt ein Element in einer Liste. In älteren Versionen musste man mit »lreplace« eine neue Liste erzeugen. Die neue Liste konnte man zwar in derselben Variable speichern, der Aufwand ist dabei aber deutlich höher.

|
Tabelle 1: Neue Features in Tcl 8.4
|
Listing 1: Listen mit Tcl 8.3 und 8.4
01 set fd [open /etc/group r]
02 while {[gets $fd line] >=0} {
03 lappend groups [split $line :]
04 }
05 close $fd
06
07 set index 5
08
09 # Alte Version mit Tcl 8.3
10 set name [lindex [lindex $groups $index] 0]
11 set gid [lindex [lindex $groups $index] 2]
12 set users [lindex [lindex $groups $index] end]
13 puts "$name: gid $gid, users $users"
14
15 set element [list $name x $gid ""]
16 set group [lreplace $groups $index $index $element]
17
18 # Neu Version mit Tcl 8.4
19 set name [lindex $groups $index 0]
20 set gid [lindex $groups $index 2]
21 set users [lindex $groups $index end]
22
23 lset groups $index end $users
| Whitepaper |
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|