Conceptual Overview
What is Tcl?
Tcl stands for Tool Control Language. While not capitalized like other
acronyms, that's still what it stands for. It was born at UC Berkeley in
1988 as a general purpose scripting language that could be built
as a C library package and embedded into software. Because of this
embeddable nature, extensions to Tcl could be easily written to add to the
scope of what Tcl can do. Today, Tcl runs on most all computer platforms,
UNIX, windows, Mac.
What Tcl is not
Tcl is not meant to be a replacement language for C or Ada or any of
the other high level languages. It is meant as a generic scripting
language that could be embedded inside other languages to come up with
a common interface. Tcl lacks things like arrays (but it does have
associative arrays), and linked lists, but it was never meant to do those
things. That is left to the language it's embedded into. There are however
extensions to Tcl that drastically increase it's scope. Python is a object
oriented version of Tcl.
What is Tk?
Tk is an extension to Tcl that allows Tcl to take advantage of the X Window
system. Tk provides a motif like widget set to Tcl so you can construct
GUI applications using Tcl scripts instead of C code. The ease of the
scripting language allows for rapid prototyping of GUI interfaces that is
not available with other methods. Here is an example
of something I wrote using Tk. The latest versions of Tk runs on UNIX, windows
and Mac.
What Tk is not
Tk is not the answer to all your GUI needs. Being it's an interpreted X, it
is slower than a compiled X application. For menus, dialog boxes,
and various forms of user input, Tk performs very well, but if you want to
do real graphic intensive stuff, Tk is probably not the way to go. Tk
extensions go beyond just Tcl. There are Tk extensions for other scripting
languages like Perl, and Python.
Enough of this overview jazz...let's get down to the basics of Tcl