I often feel that Tcl is like that one system of math people are
exposed to in college, are turned off my the seeming complexity, but
only years later do they recognize the utility and beauty of it. (Plus
that the problems they are are solving were more complex than they
ever imagined, but I digress...)
Eventually Tcl will get it's due. But I think that day will have to
wait until employers value programmers enough to keep them on long
enough to forget what they were taught, and instead use what they
learned.
I think a lot of people dismiss Tcl not because of complexity, but
because they skim a tutorial and see "set Y [expr 2+2]."
Tcl's rudimentary syntax is a source of great power, but it also gives
people the initial impression that it's a toy language whose
interpreter has to be explicitly told when it is about to see
arithmetic. People then lose interest after seeing a few introductory
lines of code. JavaScript is the same: it has incredible features,
but you only see them if someone asks you to take a second look.
This is why I think the Tcl Wikibook is the best single piece of
evangelism we have. Tutorials usually step through the basics of
assignment and arithmetic, the parts that just happen to look
primitive in Tcl; the Wikibook, on the other hand, is a laundry list
of impressive code samples from beginning to end, and never gives the
reader a chance to form a bad opinion.
--S