Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- Fun fact: macOS hex editor "Hex Fiend" uses Tcl for its templating language:by mbirth
- Some of these UIs look simpler and better / more user friendly to me than the latest offerings from Apple and Microsoft. Especially this: https://cgicoffee.com/blog/content/images/2026/tcl-tk-articl... Looks like OpenBox?
- I take issue with the only 100 MB footprint, that is still pretty big when consider fasm, tcc and rebol are all closer to 1 meg.by tehologist
- Besides Tk and the ease of creating GUIs, Tcl has some unique advantages. As I have written before, a favorite of mine, which I have not found in other languages (besides LISP, obviously) is the ability to treat data as code combined with the existence of safe slave interpreters.
This is extremely useful for configuration files: they can use some functions you have defined, but may also include arbitrary code. In order to load them, you simply fire up a safe slave interpreter to execute the code and you're done!
Imagine a config file like:
This can obviously be manually parsed easily, but this is also valid Tcl code, if one has defined the functions "host", "port", and "dbhost". And this allows people to extend the config file to something like:host machine.example.org port 9000 dbhost server.example.org
Having a "full-blown programming language" for free in config files is sometimes desirable.set mydomain example.org set type prod host machine.$mydomain dbhost server.$mydomain if {$type == prod} { port 9000 } else { port 9999 }I'm writing much more Python than Tcl these days, but this is a feature I sorely miss. I keep looking for similar functionality in Python, but I am always disappointed. Starlark has been proposed in the past, but unfortunately it means you have to work with something different than Python (in developing, in deploying, etc.), doubling your dependencies.
by zvr - 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.
by piloto_ciego - A fun one: PostgreSQL uses an adopted version of Tcl's regular expression engine, written by Henry Spencer. Tom Lane seems to think it was an impressive piece of work, and patched it up from time to time.
https://en.wikipedia.org/wiki/Henry_Spencer https://en.wikipedia.org/wiki/Tom_Lane_%28computer_scientist...
by fdr - > 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.
by drdexebtjl - 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.