Tcl/Tk 9.1

Tcl/Tk 9.1 is being welcomed as a solid incremental update to a long‑lived GUI toolkit and scripting language, with users highlighting improved accessibility and ongoing work toward native Wayland support while retaining X11, Windows, and macOS compatibility. Many reminisce about Tcl/Tk’s heyday in rapid GUI development, AOLServer-era web apps, and its deep integration into VLSI CAD tools, routers, and SQLite’s ecosystem, arguing that its stability and embeddability still make it valuable despite its niche status today. Others contrast Tcl with alternatives like Lua, Python, Visual Basic, and modern web stacks, noting both its powerful metaprogramming model and the pitfalls of its “everything is a string” design.

Accessibility, Wayland, and Platform Support

  • Commenters welcome improved Tk accessibility; one user with serious vision issues sees this as vital, especially as some major desktops (e.g., KDE on Wayland) are reported to have regressed in accessibility.
  • Wayland support is underway and targeted for Tk 9.2, using a GLFW-based backend; X11, Windows, and macOS support are being retained.
  • Some users ask when distros will ship 9.x; experiences differ (some still on 8.6, others say 9.0 is already in major distros but broke compatibility for some software).

Developer Experience and GUI Building

  • Many praise Tcl/Tk as one of the simplest GUI toolkits for “good-enough” cross‑platform UIs and rapid prototyping.
  • It is seen as especially nice for quickly adding GUIs to scripts and for small internal tools, though not suitable for high-end animations or AAA graphics.
  • Comparisons are made to old-school Visual Basic and modern RAD tools; some lament a lack of modern, equally simple GUI builders.

Industry Use, Legacy, and Anecdotes

  • Tcl/Tk appears heavily in VLSI CAD tools, Cisco routers, and historical web stacks (AOLServer, OpenACS, Vignette, Expect).
  • Opinions diverge: Tcl itself is praised, but its embedding in commercial CAD tools is often described as painful and poorly designed.
  • Tcl’s role in the origins of SQLite and its historical importance as an “extension language” are highlighted.

Language Design & Metaprogramming

  • Tcl is characterized as “stringly typed” and Lisp-like, with powerful metaprogramming via uplevel, upvar, and DSL creation.
  • Subinterpreters and safe interpreters are cited as strong points for sandboxing, concurrency, and embedding, contrasting with other languages’ GILs or weaker sandboxes.
  • Some find this power delightful; others see it as dangerous, hard to reason about, and unsuitable for large professional codebases.

Ecosystem, Popularity, and Alternatives

  • Debate around whether Tcl is “dying”: some cite its absence from popularity indexes; others note continued niche use and maintenance.
  • Lua is frequently mentioned as a modern alternative for embedding due to simplicity and performance; others still choose Tcl mainly for Tk GUIs.
  • GUI alternatives discussed include GTK, Qt, wxWidgets, Java Swing/JavaFX, libui, and various Python GUI wrappers, with no clear consensus “universal toolkit.”

LLMs and Tcl/Tk

  • Several comments note that modern LLMs can now generate solid Tcl/Tk apps and C extensions, potentially revitalizing its usefulness despite an aging ecosystem.