Version 0 of PosiTcl

Updated 1999-07-08 18:55:59

Purpose: this page tries to present some facts about Tcl/Tk, and to bring across what people using it consider the essence - the Zen even? - of this scripting language and tool

PosiTcl means whichever you prefer: Positioning Tcl, or Positive Tcl


  • Tcl is a Scripting language like Python, Perl, Lua, and others
  • Tk is a GUI which has also been tied to Python, Perl, Scheme, ...
  • As of version 8.0, Tcl compiles to bytecodes on the fly
  • Unlike Perl, this happens not only on startup but occasionally later
  • Unlike Python, compiled bytecodes are not saved to file
  • Tcl/Tk 8.x runs on many Unix systems, Windows 9X/NT, Mac
  • As of release 8.1, Tcl/Tk has become Unicode-aware
  • Tcl/Tk is freely available, including source, with a BSD-like license
  • Scriptics [L1 ] offers commercial versions, support, training, and more
  • The Tcl/Tk Consortium [L2 ] is a non-profit organization promoting Tcl/Tk
  • Other links: Tcl/Tk overview [L3 ], success stories [L4 ], TclBlast! CD-ROM [L5 ]

  • For me, one of the most important features of Tcl is that no command has any special syntactic favours granted to it (except via compiler bugs! :^) and you can easily create your own commands to replace those in the core. This allows the same script to be used for two radically different purposes, just by loading a different preamble in each case (e.g. have a script that generates a complex GUI or outputs the dynamic help strings embedded in that GUI suitable so that it is easy to ensure that the documentation is in sync with the product.) I suppose this is also an instance of the code/data duality, which is unusually strong in Tcl. - DKF
  • Oh, and the stack trace when you get a core dump is easily understandable too (an advantage cited to me by Ian Jackson - more commonly known for his efforts relating to Debian GNU/Linux). DKF

  • Tcl and Tk are linkable libraries, so you can embed a command processor into your application. You can even use Tcl as a data file parser. - RWT
  • Tcl and Tk have command shells that can run your scripts as standalone programs. You can even "wrap" scripts, libraries, and command shells together to make an executable that runs on any computer (of the same type) without installing Tcl/Tk. - RWT
  • Tcl and Tk both have interactive command shells, so you can just type in commands to see how they work. This is a big help when programming. - RWT

If you change this page, please note that:

  • the ink on this page is still fresh, please be careful with it
  • it is about what Tcl _is_ and _isn't_, as factually as possible
  • it has a few links to key Tcl positioning/highlight pages
  • if people perceive this as an advocacy page, it will have failed
  • there is no criticism of other languages (not on this page)
  • phrases such as "unlike X, Tcl does/has Y" are ok, to clarify
  • one more thing: if the need arises, I'm the boss of this page :o)

Note: WiKit acts funny when pages are edited by more than one person at a time. If you intend to spend considerable time editing it, start by saving it with an "EDIT IN PROGRESS" line in it, so others don't accidentally edit an old version. Or email me the text you'd like to see added ([email protected]), and I'll do it when the wiki is idle. Also, if you get errors on "Save", do a refresh - don't use the back button or you'll lose your changes (yech, silly browser caching issues).