Tcl is an interesting language that does many things "wrong", especially if you're coming from a LISP perspective, and especially-especially if you're coming from a Scheme perspective. Examples are all over the C2 wiki, but probably DynamicStringsVsFunctional is the epicenter.
It also forms an important part of modern Scheme history, as the Tcl War led to the creation of Guile.
TL;DL: Tcl was successful because it found its niche as a lightweight yet capable language able to both integrate and be integrated with C code, but it fell behind on Tk look-and-feel compared to GNOME and KDE and also on other mainstream development phenomena, it ossified because it was afraid to upset its installed base, it got stuck between not-slim-enough and not-featureful-enough, the syntax is too weird, and it spiraled into losing touch with the rest of the free software world, which ultimately also affected business use.
Guile (again) faces several of these same challenges.
Comment #1 posted on 2017-09-22 06:05:08 by clacke
There's also a Ruby/Tk, and there used to be a Guile Tk (best frenemies!), but Guile Tk was deprecated and replaced with Guile GTK, which was then replaced with Guile Gnome.
It's pretty funny that although Python has to a large degree replaced Tcl out there, any system that includes a full Python also includes Tcl/Tk, because tkinter depends on Tcl/Tk and is part of Python stdlib.
Even funnier, the proudest project of the Guile world, Guix, depends on Python (via graphviz via glib) and therefore Tcl.
Comment #2 posted on 2017-09-28 12:19:52 by Mad Sweeney
Tk is not accessible
rms started a flamefest when he posted to comp.lang.tcl in 1994;
Why you should not use Tcl:
I don't like Tcl for its stringly typed nature but Tk seems like a nice light-weight GUI toolkit; but, unfortunately, it doesn't work with screen readers on any platform so you should avoid using it unless you're just developing something for your own use.
Comment #3 posted on 2017-09-28 14:45:20 by clacke
The flamefest you are referring to is the Tcl War linked in the show notes.
Thanks for the comment on the accessibility. That's good to know if you're building a serious UI. I guess it's another example of how Tcl/Tk hasn't quite left the 80s.
Comment #4 posted on 2017-09-28 15:28:09 by Mad Sweeney
Ah, I missed that. That'll teach me to listen at 4x speed.
Note to Verbose Commenters
If you can't fit everything you want to say in the comment below then you really should record a response show instead.
Note to Spammers
All comments are moderated. All links are checked by humans. We strip out all html. Feel free to record a show about yourself, or your industry, or any other topic we may find interesting. We also check shows for spam :).