
Tcl and the Tk Toolkit, 2nd edition - davidw
http://journal.dedasys.com/2009/09/15/tcl-and-the-tk-toolkit-2nd-edition
======
wsprague
I really like Tcl/Tk, and I hope anyone wanting to hack together a quick GUI
interface gives it a try!

~~~
gaius
Tcl is an incredibly underestimated language. The Ruby guys go crazy for
Shoes; Tcl/Tk had Starkits years ago which do way more. Concurrency is all the
rage - see how efficiently the Tcl VM can run as many interpreters as you want
(tho' you can have threads if you want them too), forget Python's GIL. The
Lisp crowd talk about macros as their killer advantage - Tcl makes adding new
constructs trivial (everyone implements their own do...while in a few lines of
code). Distributed computing - Tcl securely exchanges Tcl scripts as easily as
data, send some processing off and get it back, or build a rich GUI control on
the fly and send it to someone's screen, it'll run there and send only the
data back to you.

I never understood why Tcl wasn't wildly popular. Even now it suffers from a
reputation as an "old" language, when its VM is up there with the best of
them.

~~~
systems
Tcl has its faults. 1) Poor DB support (TDBC is very young with so few
drivers) 2) No CPAN 3) Poor support for web-development 4) Poor support for
advance programming constructs 5) Dry community

Its not just Marketing, Tcl is just not as exciting as Haskell, Erlang, Ruby
or even R!

~~~
davidw
> ... marketing ... exciting

That sounds _exactly_ like a marketing problem. The other things are actually
technical problems that are more or less correct, but that haven't necessarily
stopped other languages from doing ok. I mean, look at Erlang, for instance.
It does a few things very well, and other things in it are fairly ugly. And
yet, warts and all, it's certainly worth studying, and utilizing for certain
classes of problem.

Another example: Tcl has more or less got i18n/unicode/utf8 and threads right
for years, whereas Ruby has struggled with those same issues. Every
language/implementation has strengths and weaknesses, and part of what
'marketing' is, is getting the language into the hands of people who will do
well with its strengths, and also gathering data from the 'market' in order to
determine what needs improving/fixing.

BTW, the Tcl community is excellent. Very friendly people, very welcoming and
approachable.

------
davidw
"My" book is out...here's part of the story behind it.

~~~
cturner
Come on, bring out your romantic war stories. Tell us about your favourite
epic one-liner.

~~~
mikeryan
I don't have an Epic one-liner but back in the day we used Vignette
StoryServer with Tcl as the scripting language. By some weird tweak that AFAIK
was unique to that system in order to escape a square bracket in a string we
had to add 2^x backslashes for however many square brackets deep we were. So
you'd end up with something like

puts " page \\\\\\\\\\\\\\\\\\\\[8]"

~~~
buro9
I hated that, made making common libraries a PITA.

Sure there were workarounds but it was definitely a gotcha if you knew TCL
prior to Vignette and were suddenly faced with Vignette messing with you.

