Tcl/Tk 9.1 bringt Screenreader-Unterstützung und Unicode-Normalisierung

Tcl/Tk 9.1 Released

Tcl/Tk 9.1.0 ist da und erweitert die Basis von 9.0 um zahlreiche Neuerungen. Tcl erhält einen unicode-Befehl zur Normalisierung, einen timer mit Mikrosekunden-Auflösung und neue Optionen für subst und switch. Tk bekommt erstmals Unterstützung für Screenreader sowie erste Ansätze für bidirektionalen Text und RTL-Sprachen. Hinzu kommen ein neues Widget ttk::toggleswitch, rotierter Text auf Labels und effizientere Listen-Interna für große Datenmengen.

Accessibility screen reader support.
  1. srean

    Ich habe eine Schwäche für Tcl, wegen seiner Eigenheiten und seiner schrägen, dynamischen, string-basierten Verspieltheit. Beruflich würde ich vorsichtig sein, es einzusetzen, aber zum Spaß damit herumzuspielen ... es macht einfach zu viel Spaß. Upvar und Uplevel sind verrückt.

    Python ist diese Art von coolem Verhalten, wenn man zum ersten Mal die Eltern des zukünftigen Ehepartners besucht. Tcl hingegen ist wie das Spielen geheimer, exklusiver und etwas gefährlicher Spiele mit dem besten Freund aus der Schulzeit.

    Tcl/Tk hat die Idee einer Skriptsprache als Bibliothek vorangetrieben. Es hat Threading richtig hinbekommen. Man kann mehrere unabhängige Tcl-Interpreter im Adressraum seines Prozesses laufen lassen, und sie können Nachrichten austauschen. Der gesamte Interpreter-Zustand ist im Interpreter-Objekt gekapselt, keine Globals. Für den Benutzer ist es einfach ein Zeiger auf ein Objekt.

    Kein Bedarf für GIL, kein Bedarf für Serialisierung/Deserialisierung (pickle/unpickle) ... einfach nur eine Kopie im Prozessspeicher (oder keine Kopien, falls die Daten unveränderlich sind).

  2. neilv

    Der größte frühe Verkaufsargument von Tcl war Tk, als relativ einfacher Weg, mit Open Source auf Unixen und dem X Window System ausreichend gute GUI-Programme zu erstellen. Sogar viel einfacher als die benutzerfreundlicheren X-Toolkits wie XView mit C, und die Alternativen wurden von da an nur noch schwieriger. Es gab keine Web-Frontends.

    Tcl selbst war ziemlich clever als das, was ich eigentlich eine string-basierte Skriptsprache nennen würde (im Gegensatz zu Bourne/C-Shell/etc., die ihm auf Unix vorausgingen).

    Ursprünglich war Tcl eine der wenigen fertigen Erweiterungssprachen. Man schreibt seine große Anwendung in C oder C++ und bettet dann einen Interpreter für eine höhere Erweiterungssprache ein, damit Benutzer oder der ursprüngliche Entwickler Funktionalität hinzufügen können. Die Optionen damals waren normalerweise ein kleines Lisp/Scheme, Tcl, Python oder etwas völlig Maßgeschneidertes und wahrscheinlich Skurriles und Halbherziges.

    Während der frühen Dotcoms gab es beträchtliches Interesse an Tcl für Backend-Arbeit, und es wäre auch nicht die schlechteste Wahl für den Browser gewesen. Wie Python wäre Tcl zugänglicher und demokratisierender für das Web gewesen als JavaScript, und es gab bereits solide fertige Designs und Implementierungen. (Scheme wäre etwas einschüchternder erschienen als Python oder Tcl und war mächtiger, weshalb Tim Berners-Lee, wie ich glaube, Python gegenüber Scheme als Programmiersprache des Volkes für verschiedene Web-Zwecke bevorzugte. Die Semantik des JavaScript, das wir bekamen, war eher ein hastiges Spielzeug-Scheme, plus das einfachste Objektmodell […]

  3. trebligdivad

    Tcl/Tk ist wohl das einfachste GUI-System da draußen; man kann einfache Sachen ohne Aufwand zum Laufen bringen – nichts, was ich gesehen habe, kommt an diese Einfachheit heran.

    Gut zu sehen, dass es etwas moderne Unterstützung bekommt.

  4. qalmakka

    Tcl ist eine viel zu clevere Sprache für sein eigenes Wohl. Ich liebe, wie alles ein String ist oder auf einem String manipuliert werden kann, sodass man im Grunde Metaprogrammierung auf ungeahnte Ebenen treiben kann

  5. Aldipower

    Ich hatte mal ein O'Reilly-Buch mit dem Titel 'Perl/Tk'. Ich meine, ich habe es immer noch irgendwo ... Ich habe das Gefühl, dass das Durchlesen irgendwann vielleicht meine KI-Genesungstherapie wird?

Mehr von diesem Tag

2026-09-29