Why would I want to use Tcl?

Why would I want to use Tcl? Because you're a programmer, you don't just play one on the net. You want highly functional systems with minimum fuss.

Power: you can produce in Tcl faster and easier than in just about any other language. That's a generalisation, of course. It's easier to write some classes of programs in different languages. But here, Tcl wins again:

Expressiveness: Tcl enables you to write an interpreter for just about any problem domain very quickly. You can emulate just about any special purpose language. Not the syntax! The abstract machine: the set of primitives you need to invoke with the arguments you need to pass.

Simplicity: Tcl's syntax is so simple, so unobtrusive, so degenerate that it's nearly invisible. Here's the syntax in a nutshell: command arg arg arg .... There are some other useful bits of syntactic sugar ($var is a variable's value, [script] is the result of evaluating the script.

Speed: Tcl is FAST. Well, actually Tcl is fast, but as a very high level language of course it's not going to be as fast as writing the program in assembler ... so what? So compromise and write the time-sensitive components in C instead: Intersperse your Tcl programs with C to make the hot-spots as fast as you like. Linking Tcl to C is child's play with critcl or tcc4tcl. Tcl+critcl delivers the best of both worlds.

Ease: The Tcl commands are easy to learn and straightforward, if there is something it doesn't do then as said above -make a module, build a package. Following the paradigm of the 'command' allows so much to be put under the cover of a single line of script.


Gall's Law "A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system."[L1 ]