BOOK Tcl and the Tk Toolkit

Purpose: Bibliography and reviews of this book

There is a second edition of this book available.


The book primarily covers Tcl 7.3 and Tk 3.6.

A German translation of this book, titled „Tcl und Tk“, with the ISBN of 3893197931, is also available.

While the book is a good intro to Tcl, its basis on the older Tk makes it difficult to use for some types of Tk development. The tk4.0 porting guide [L1 ] is a PostScript document with a few of the issues. However, there have been many changes since Tk 3, particularly in Tk 8's cross-platform environment.

Georg Fusz With this book I was able to write my first C-expansion-functions. Reading in the book by Welsh was like running against a wall. I would suggest: Read first the book by Ousterhout and the book by Welch.


With the release of Tcl 8, with Unicode, new regular expression support, Tcl Obj support in the API, pseudo-compiler, etc. the original book has less and less relevance as a full reference to contemporary Tcl.


"... less and less relevance ..." is a conservative statement. Jeffrey Hobbs, for example, has strongly urged beginners against reliance on it, if not reading it (where's that posting?). His main point: people miss out on so much--fileevents, namespaces, binary and Unicode capabilities, socket, ...--that make Tcl a valuable general-purpose programming language.

Still, there's something about the book that makes it very "fit" for me. Some day I'd like to understand more precisely how it manages to be so readable and inviting.


Larry Virden writes: the two main problems I have with this book are:

  1. Too much missing or deprecated info
  2. Too much reliance on code fragments which do not show best practice techniques.

Though not the most current, the chapter format and level *really* helped me get the concepts. --lh


The book may be old, but it is extremely well-written. I learned perl and python before starting tcl, and the way that JO's book is written is one of the best technical books I have ever read even when compared to the wealth of books written by a myriad of perl authors. I have read JO's book over and over to get a feel for tcl/tk. The content regarding sockets and the new facilities of tcl are easily learned by reading the manual pages, the wikis, and searching usenet archives. The best thing to happen to tcl/tk would be an update to JO's book to include namespaces, and some of the new facilities.

On another note: Thank you to the core tcl team and to all who have participated in usenet in the past 5 years. It makes for entertaining and informative reading.

I have decided to focus solely on tcl/tk until I can fake being a master at it ;D No more perl, no more magic books, no more perl's dirty hooks!


Discussion about second edition of this book moved to BOOK Tcl and the Tk toolkit (2nd edition)


I ran across a reference to this book in http://www.manning.com/payette/excerpt_preface.html today. It made me giggle a bit...

RLH I hope they proof read that excerpt before printing it.

BibTeX Citation

@Book{tclbook1994,
  author =       {John K. Ousterhout},
  title =        {Tcl and the {Tk} toolkit},
  publisher =    {Addison-Wesley},
  year =         1994,
  series =       {{Addison-Wesley Professional Computing Series}},
  address =      {Reading, Massachusetts 01867},
  edition =      1,
  isbn =         {{0-201-63337-X}}
}