Introduction

Tcl/Tk is a Very High Level Language with powerful GUI capabilities. It allows easy prototyping and fast development cycles.

The Tcl language has a very simple and regular syntax. If you approach it in the right way, i.e. if you don't "think in another language" while you use it, you can learn it in just a few days. Tcl stands for "Tool Command Language" to denote the fact that Tcl is designed from the ground up to be embeddable in applications, like E-lisp for Emacs or Visual Basic for Word. It also has a clean and well documented interface to C, which makes it easy to add extensions to it that provide new commands.

Tk is the most popular of the many extensions to Tcl: it is a graphical toolkit that allows you to write windowing applications at a very high level. Try writing the "hello world" program in your favourite GUI toolkit environment: in many cases this takes several pages of code. In Tk you can do it in two lines, like this:

    button .hello -text "Click me!" -command {puts "hello world!"}
    pack .hello
This is a complete running application which has a button labelled "Click me!"; if you do what it says, it will print "hello world!" on stdout. To try this out launch wish ("windowing shell", the Tcl/Tk interpreter) and paste the above two lines into it.

On top of that, Tcl and Tk are available for free in source form and you can modify and embed them in your applications without having to pay royalties.


Books and online learning resources

To learn more about Tcl and Tk you may get one or more of these fine books:

This page at Sun Labs gives you more complete bibliographical references to these books, including ISBNs.

If you're not ready to go out and buy a book yet, try out Tcl and Tk for yourself! They may already be on your system. The best introduction is the widget tour by Andrew Payne, a set of short script examples that can be run interactively; you modify the source code and the program's behaviour changes dynamically. It is available in precompiled form for many architectures.

If you just want to read an introduction to Tcl/Tk here on the Web, try this one by David Martland.


Links

Here are some interesting pages about Tcl/Tk:

And here are a few home pages of people who've got something to do with Tcl/Tk:


My own stuff

Finally, this is what I personally do with Tcl/Tk.

I am a programmer in the Medusa project at Olivetti Research Limited and I use Tcl/Tk to write distributed multimedia applications.

My paper "Writing Tcl programs in the Medusa applications environment" was presented at the 2nd Tcl/Tk workshop in 1994. The slides for that presentation are available in Postscript (2 per page) or in Powerpoint format.

At the Tcl/Tk 1995 workshop I presented another paper, "Taming the complexity of distributed multimedia applications", which I co-authored with Rob Walker. The slides are here, in Postscript 2-up or in Powerpoint.

And this is my detailed report on the Tcl/Tk 1995 workshop, again co-authored with Rob Walker.



Written with tkHTML 2.1. Last updated 1995 10 04.