Forum OpenACS Q&A: Re: Will Dr. OpenACS survive? Or why I stopped worrying and learned to love the .LRN consortium?
I think this may largely be because Tcl does a lot of stuff well, and nothing really wrong. There are various useful things which it does not even attempt to do at all. (Perhaps closures, continuations, and macros as in Scheme. Certainly vector orientation, matrix math, and sohpisticated statistical libraries, as found in S and its open-source dialect and R. One could go on and on listing things like static type inference, etc.)
To use one example I am intimately familiar with, although S is a very useful language overall, it feels replete with small but obnoxious legacy design and implementation flaws. So even though I use S for things I would never want to use Tcl for, I would argue that Tcl is the better designed language overall. Apples and oranges there, but if you have to compare them, Tcl looks like the cleaner fruit to me.
A language which locks you into broken misdesigned features (as seems very common) is much worse than simply staying out of the way and giving you tools to extend the language as you need (Tcl does; most non-Lisp languages do not). Tcl seems to strike a good balance there.
I naively hope to live long enough to see programming languages which are an order of magnitude or more better than what we have now. (And demonstrated as such scientifically; not just via hand-wavy philosophizing like I'm doing here.) Maybe from those Haskell-using academics. Maybe atypical practitioners like Jean-Claude Wippler will come through with something. Or both. And Tcl, Python, Scheme, and Ruby will all seem more backward than Fortran 77 and COBOL seem today. I don't see that happening terribly soon, though.
Anyway, probably none of this is news to anyone here, so enough of my rambling. I just wanted to emphasize that technically anyway (ignoring marketing), Tcl is a large net asset.