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.
- srean
Ich habe eine Schwäche für TCL, wegen seiner Eigenheiten und seiner schrägen, dynamischen, string-basierten Verspieltheit. Beruflich würde ich es mit Vorsicht einsetzen, aber zum Spaß damit herumzuspielen ... es macht einfach zu viel Spaß. Upvar und Uplevels sind verrückt.
Python ist diese Art von coolem Verhalten, das man an den Tag legt, wenn man zum ersten Mal die Eltern seines 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).
- ripe
Tcl ist sicherlich ein bisschen seltsam und man muss sich daran gewöhnen, aber ich habe es für lohnenswert befunden, seine Eigenheiten zu lernen, besonders weil meine Anwendungen sqlite verwenden, was sehr natürlich zu Tcl passt.
Von D. Richard Hipp [1]:
"SQLite ist eine TCL-Erweiterung, die in die Wildnis entkommen ist.
"Das Design von SQLite wurde vom Design von TCL inspiriert, sowohl in der Art und Weise, wie es Datentypen behandelt, als auch in der Formatierung seines Quellcodes. Der Index-Anwendungsfall für SQLite war in einer Tcl/Tk-Anwendung für ein Industrieunternehmen. Von Anfang an war SQLite stark von TCL abhängig. Heutzutage verwendet SQLite intern kein TCL mehr und kann getrennt von jedem TCL-Interpreter ausgeführt werden, und dennoch hängt der SQLite-Entwicklungsprozess stark von TCL ab."
[1] https://www.tcl-lang.org/community/tcl2017/assets/talk93/Pap...
- neilv
Das größte frühe Verkaufsargument von Tcl war Tk, als relativ einfacher Weg, ausreichend gute GUI-Programme mit Open Source auf Unixen und dem X Window System 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 unter den 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 gewesen, es in den Browser zu packen. 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, was meiner Meinung nach der Grund war, warum Tim Berners-Lee Python gegenüber Scheme als Programmiersprache des Volkes für verschiedene Web-Zwecke bevorzugte. Die Semantik des JavaScripts, das wir bekamen, war eher ein hastiges Spielzeug-Scheme, plus das einfachste Objektmodell […]
- 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.
Schön zu sehen, dass es etwas moderne Unterstützung bekommt.
- qalmakka
Tcl ist eine viel zu clevere Sprache für sein eigenes Wohl. Ich liebe es, wie alles ein String ist oder auf einem String gehackt werden kann, sodass man im Grunde Ebenen der Metaprogrammierung erreichen kann, die ungeahnte Höhen erreichen
- neofytos
Glückwunsch an die Community und das Kernteam. Ihr Engagement, Tcl/Tk als Goldstandard für Stabilität, Pragmatismus und leichtgewichtige plattformübergreifende Entwicklung zu erhalten, ist inspirierend.
- 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 werden könnte?
- rtpg
Hat jemand lustige Geschichten von Dingen, die er mit tcl/tk gebaut hat? Ich habe das Gefühl, dass es theoretisch noch Raum für winzige Apps damit gibt, aber ich habe tendenziell das Problem, dass ich "beliebigen Rich Text" in meine Sachen stopfen will (-> Web-Technologie funktioniert plötzlich ziemlich gut)