How Tcl speaks for itself and how Tcl is not spoken for...



Hello

It's Friday and... well...

Two things about Tcl going through my mind this week, a nice anecdote
and a
eyebrow-rising thing on Wikipedia:

Anecdote:
Until three months ago I worked in a scientific institue where I wrote
much
software in Tcl, especially a big Build and Report System, some tools
for
automatic checking of coding style and other things. Tcl had a bad
reputation
there (not because of me... they dropped Tcl before I started there in
favour of
Joy, then JavaScript and now Python) and besides me, there was only
one
co-worker who appearantly writes some small Tcl-Scripts to support
other
researchers in their work. To get completely rid of Tcl, they even
started to
reimplement all things, I wrote in Tcl in Python just to have it in a
language,
that most of them know (which is a good decision on the one hand, but
on the
other hand, I think, it would be better to simply learn Tcl ;-), which
made me a
little bit sad.

Now there is a new collegue who has to maintain some of the things I
wrote. Comming from Perl he wasn't exactly enthusiastic when he heard,
that he
must maintain my old code in such an obscure language..

Two weeks ago, I got mail from him. He's just studying a complex
system of
scripts that are used for a sandboxed build system for source code
which comes
from external untrusted source and must be compiled and tested. Of
course it's
written in Tcl (and some bash-Scripting). He told me, that although he
has never
looked at Tcl before, he was amazed how simple and well documented the
code was,
and how he understood almost immediately, what it means. Tcl seemed to
be
crystal clear to him and now he *is* very enthusiastic about it, and
learns
programming in Tcl.

What's my point here? Tcl speaks for itself, you just have to look at
it... I
was really touched by that.


Wikipedia:

The other day I was just browsing through the articles about different
programming languages, programming paradigms and related stuff on
wikipedia just
for fun. I found the "Categorical list of programming languages"
(http://en.wikipedia.org/wiki/
Categorical_list_of_programming_languages), where
languages are sorted by paradigms or categories. Tcl (and XOTcl) can
be found
eight times in the list in different categories, which is pretty much,
I
think. But reading through the list and the descriptions of what the
categories
mean, I found that Tcl is missing in many of the categories, although
it clearly
should be there:

- "Command line interface languages" for batch processing and job
control. Tcl
is perfect for that, especially if expect is used.
- "Interactive mode languages" where you can programm interactively
seeing
immediate results. Python is listed (for good reason), but not
Tcl... Especially using wish for interactive GUI-development is a
killer-app
from my point of view...
- "Interpreted languages" at least early Tcl was pure interpreted and
is also
today if you use it interactively or if you do not use [proc]s.
- "Little languages" at least in the sense of the word, Tcl definitely
is small,
containing only its few syntax rules.
- "Metaprogramming languages" the desription of that category seems to
me to be
one of the most used programming styles in Tcl...

Am I missing some categories or wrong about the five above?

Besides: Perl is not listed in the category of "Esoteric languages".
Why is
that? ;-)

Regards
Stephan

.



Relevant Pages