Nach 27 Jahren seit der Gründung der Version 8.0 wurde die Version Tcl/Tk 9.0 veröffentlicht, eine dynamische Programmiersprache, die zusammen mit der plattformübergreifenden Bibliothek der grundlegenden grafischen Elemente Tk verbreitet wird. Tcl hat sich hauptsächlich als Plattform zur Erstellung von Benutzeroberflächen und als eingebettete Sprache etabliert, ist aber auch für schnelles Prototyping, Webentwicklung, Erstellung von Netzwerkapplikationen, Systemadministration und Testing geeignet. Der Code des Projekts wird unter der BSD-Lizenz veröffentlicht.
Die signifikante Versionsänderung ist auf Änderungen zurückzuführen, die die Abwärtskompatibilität beeinträchtigen. Insbesondere hat sich die Logik der Anwendung von Namensräumen auf Variablen in Tcl 9.0 geändert — anstelle des globalen Namensraums als Standard wird nun der lokale Namensraum verwendet. Bei Inkonsistenzen in den Kodierungen beim Ein- und Ausgeben wird nun ein Fehler zurückgegeben. Die Interpretation des Zeichens „~“ in Dateipfaden als Heimatverzeichnis des Benutzers wurde eingestellt. Bei der Formatierung von Zahlen wird der Wert von tcl_precision nicht mehr berücksichtigt.
Zu den neuen Funktionen gehören:
- Die Unterstützung für 64-Bit-Variablen wurde hinzugefügt, was die Verwendung von Werten über 2 GB ermöglicht.
- Vollständige Unterstützung für Unicode und Zeichencodierungen wurde sichergestellt, und Eingabe-/Ausgabewandlungsprofile wurden hinzugefügt.
- Die Möglichkeit, mit ZIP-Archiven zu arbeiten, wurde ähnlich wie mit einem Dateisystem hinzugefügt.
- Die Unterstützung für das Anfügen von Archiven an Bibliotheken und ausführbare Dateien wurde hinzugefügt, was die Erstellung von Einzelfilmpaketen ermöglicht, die alle benötigten Daten für die Anwendung enthalten.
- Die Ereignisverarbeitung wurde auf die Verwendung der Systemaufrufe epoll und kqueue umgestellt (Multiplexing über den Aufruf select bleibt als Option für Systeme ohne Unterstützung für epoll und kqueue erhalten).
- In der Tk-Bibliothek wurde der Zugriff auf Betriebssystemfunktionen wie Benachrichtigungen, Drucken und Systemablagen bereitgestellt. Unterstützung für Vektorgrafiken im SVG-Format wurde hinzugefügt, die zur Erstellung skalierbarer Widgets und Designs verwendet werden können. Es wurden Funktionen für den Zugriff auf Metadaten und den Alpha-Kanal von Bildern bereitgestellt. Unterstützung für Zwei-Finger-Gesten auf dem Bildschirm wurde hinzugefügt.
Quelle: opennet.ru
