Site Map - skip to main content - dyslexic font - mobile - text - print

Hacker Public Radio

Your ideas, projects, opinions - podcasted.

New episodes Monday through Friday.


Our hosting is kindly provided by Josh from AnHonestHost.com. We would appreciate it if you could donate to help reduce his costs in funding the hosting.
He is also accepting bitcoins to 1KsxJr9HtsdaUeU7yaV9bk9bQi21UPBtUq

hpr2386 :: The Decline and Fall of Tcl

... in which I'm reading Where Tcl and Tk went wrong, by David N Welton, posted on 2010-03-30

<< First, < Previous, Latest >>

Host Image
Hosted by clacke on 2017-09-25 is flagged as Clean and is released under a CC-BY-SA license.
Listen in ogg, spx, or 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.

Further notes

  • 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".

Potential episodes

  • Fossil
  • Tcl

Comments

Subscribe to the comments RSS feed.

Comment #1 posted on 2017-09-22T06:05:08Z by clacke

More */Tk

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:
https://groups.google.com/forum/#!msg/comp.lang.tcl/7JXGt-Uxqag/3JBTj5I43yAJ

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

rms flamefest

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

Flamefest

Hi clacke,
Ah, I missed that. That'll teach me to listen at 4x speed.

Leave Comment

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 :).

Provide feedback
Your Name/Handle:
Title:
Comment:
Anti Spam Question: What does the P in HPR stand for ?
Are you a spammer →
Who hosted this show →
What does HPR mean to you ?