... in which I'm reading Where Tcl and Tk went wrong, by David N Welton, posted on 2010-03-30
Hosted by clacke on 2017-09-25 is flagged as Clean and is released under a CC-BY-SA license.
Tags: tcl, tk, history, languages, community.
Listen in ogg,
mp3 format. | Comments (4)
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.
What happened after that? Where Tcl and Tk went wrong, by David N Welton
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.
- Haskell tries to avoid success at all costs, in order to not lose the freedom to improve the language.
- Python and Perl both have Tk integrations and Python's IDLE is even implemented in it. Lua had ltk, but it's no longer maintained. There is even a Tcl/Tk package for R.
- Ousterhout pronounces it OH-stir-howt, which may or may not be how I pronounced it. I think the guttural sound may be reserved for the Dutch "G" and have nothing to do with "H".
Comment #1 posted on 2017-09-22T06:05:08Z 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-28T12:19:52Z 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-28T14:45:20Z 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-28T15:28:09Z by Mad Sweeney
Ah, I missed that. That'll teach me to listen at 4x speed.
<< First, < Previous, Next >, Latest >>
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 :).