Tcl/Tk: The 35-Year-Old Toolkit That Still Builds Cross-Platform GUI Apps

Develop Cross-Platform CLI and GUI Tools with Tcl/Tk

Tcl/Tk: The 35-Year-Old Toolkit That Still Builds Cross-Platform GUI Apps

Tcl/Tk, created by John Ousterhout in 1990, remains a powerful, open-source toolkit for building cross-platform CLI and GUI tools. This guide covers its event-driven architecture, native-looking GUIs, and compact single-file apps, while addressing common misconceptions and limitations. It also explores practical use cases, from Decent Espresso to Android via Androwish, and highlights Tcl 9.0's modern features.

There had to be a better way to develop cross-platform apps and tools!
  1. kelvinjps10

    It made me remember, me learning programing and building random GUIS app in tkinter and python.

  2. dragonfax

    I was an early adopter of the TiVo. You can hook up a terminal to those things. A dumb terminal or terminal software on your computer using your own serial port. There was a terminal/serial port in the back (baud 2600)that took the form of a 3/4" audio plug.

    It was a Linux system, but all their own software running on it was written in TCL.

    I don't think they were using TK though.

    Pretty fun to hack around with. Since it was connected to the phone line, when a call came in it could get the caller ID off the line and display it on the TV screen.

  3. vincent-manis

    I use Tk routinely in Scheme; there is no Tcl in my code, but Tk is a very nice (though basic) GUI kit, and my programs work on Linux, BSD, MacOS, and Windows. Other commenters have mentioned that Python ships with Tkinter, a library module that interfaces to Tk. I believe Ruby does the same. Hell, if you're programming in Cobol, you can have Tk (as long as your Cobol allows you to call C). You do not have to love Tcl to love Tcl/Tk.

  4. drdexebtjl

    > Those GUI apps look native on Windows, Linux and macOS

    I don’t see how the author can write this with a straight face.

    The apps look like what native apps looked like in 2003.

  5. piloto_ciego

    Tkinter or other Tk based GUI interfaces are the immediate tool I reach for whenever I build something that's not in the CLI or in the browser.

    My general "daily driver" is python and I love that I can just spin up a cross-platform tool immediately with it. Tcl/Tk rule and are insanely useful.

More from this day

2026-08-31