'''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. ----- <> **Simplicity** 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."[https://en.wikipedia.org/wiki/John_Gall_(author)#Gall's_law] <> Advocacy