Tcl/Tk Spline Editor
wiki.tcl-lang.org
wiki.tcl-lang.org
I saw a comment here about undo/redo and I think it's a must have feature for something like this. I implemented something based on the command pattern first, but ended up disliking the amount of code needed just for undo. I eventually tore all that out and built my state model on the excellent immer[2] library.
The Tcl Programming Language: A Comprehensive Guide:
Is TCL worth studying and using when you can just use Tkinter with Python?
SQlite author is an avid Tcl user and he even introduced a small, secure and modern CGI based web application called wapp:
Even with Tk, the overhead is just 8MB.
So distributing a Windows executable with GUI is quite practical. You don't require your user to have anything else installed.
After reading Ashok Nadkarni's book though, I decided I felt the Tcl design was more coherent to me in a lot of ways. The way it sticks so heavily to commands is very consistent, but languages like Python (or something like APL that goes to the absolute extremes) use special syntax to make certain things easier to recall (think of how Tcl uses "lindex" for accessing arrays and Python has dedicated "array[4]" syntax. Neither is better than the other, just different.
Tcl to me is a lot like a Lisp built off of strings rather than lists. Many on HN will point to how this is inferior, but the overall language and ecosystem has been a lot easier for me to pickup.
Edit: I have nearly a decade of regular Python usage under my built for things like process automation and a little scientific computing, but have only read a book on Tcl, read blog posts, and coded a little bit every now and then.
These two properties make Tcl much more suitable for programming than most other contemporary scripting languages.
I regularly use Tcl for various peeaonL scripting tasks OR EXPERIMENTS and rarely use Python or bash. The reasons are stated above.