What is this Tcl/Tk stuff anyway?

The archive server ftp.aud.alcatel.com is considered the primary site for tcl releases and extensions. Let me give you a little info up front, before you ftp megabytes to your site. After you have ingested this, you might want to check out the group comp.lang.tcl, and get the FAQ from alcatel and read that too. I do not represent myself as a Tcl expert, only an enthusiast.

Tcl (tool command language) is a sophisticated (very) interpreting language (a shell). The basic kernel of the language is the work of John Ousterhout (at the Sprite project, I believe) from Berkeley. One of the many joys of tcl is that it is easily extensible, that is, that others can write and have written lots of new commands for tcl to make it do useful things. JO's basic kernel consists of two interpreters:

Tk being a superset of Tcl.

Tk makes it easy to create and manipulate widgets on a screen. Using the Tk toolkit you can generate a useful x11 application in less than 100 lines of code, which compares favourably to developing in C. Also since it is an interpreter, you can even try things out interactively.

These two packages are collectively known as "Berkeley Tcl". They come with manpages.

By far the most common extension is TclX (eXtended tcl) by the NeoSoft gang (Mark Diekhans, Karl Lehenbauer, and friends) which adds many essential features to tcl, including higher math functions, character-based string functions, and unix operating system and file access functions. I would not try to do anything serious with tcl without this package. TclX comes with builtin help and man pages.

There are lots and lots of extensions to Tcl/Tk beyond this basic working version of the interpreter.

There are lots and lots of applications written in Tcl/Tk using one or more (or none) of these extensions.

Want to know what you're getting into? This is a rough description of how you build Tcl and Tk and their extensions.