Tcl Books

Tcl/Tk Introductions

The following books are good introductions to Tcl/Tk:

Practical Programming in Tcl and Tk (4th Edition) by Brent Welch and Ken Jones. (Prentice Hall, 2003. ISBN: 0-13-038560-3.)
The “bible” for Tcl information. The most comprehensive reference to the Tcl language available, and packed with great examples. Highly recommended.
Teach Yourself Tcl/Tk in 24 Hours, by Venkat VSS Sastry and Lakshmi Sastry. (Sams Publishing, 2000. ISBN: 0-672-31749-4.)
A step-by-step introduction to Tcl/Tk, including quizes and exercises. Unfortunately, it appears as though the publisher has allowed this title to go out of print.
Tcl/Tk: A Developer’s Guide, 2nd ed., by Clif Flynt. (Morgan Kaufmann, 2003. ISBN: 1-55860-802-8.)
Flynt’s book assumes that you’re an experienced programmer who wants to add Tcl/Tk to your toolkit of languages. Flynt demonstrates Tcl/Tk features in extended examples such as creating tree data structures and HTML display widgets.
Effective Tcl/Tk Programming, by Mark Harrison and Michael McLennan. (Addison-Wesley, 1997. ISBN: 0-201-63474-0.)
Going beyond the basics, this book assumes that you’re familiar with fundamental Tcl/Tk programming and shows techniques for creating larger applications. An excellent resource for learning about Tcl client/server programming, timers, and advanced Tk programming.

Tcl/Tk References

There are a couple of good command references available for Tcl/Tk:

Tcl/Tk in a Nutshell, by Paul Raines and Jeff Tranter. (O’Reilly & Associates, 1999. ISBN 1-56592-433-9.)
This is a nice reference book for Tcl/Tk commands (version 8.0) and the following extensions: Expect, [incr Tcl], Tix, TclX, BLT, Oratcl, Sybtcl, and Tclodbc.
Tcl/Tk Pocket Reference, by Paul Raines. (O’Reilly & Associates, 1998. ISBN: 1-56592-498-3.)
Exactly what the title says — a pocket-sized reference providing 1-2 sentence summaries of Tcl/Tk commands (version 8.0).

Tcl/Tk Extensions and Applications

The following titles cover more specific applications of Tcl/Tk technologies and extensions (all assume a working knowledge of Tcl/Tk):

Exploring Expect, by Don Libes. (O’Reilly & Associates, 1995. ISBN: 1-56592-090-2.)
By the author of the Expect extension himself, this book provides a comprehensive guide for using this invaluable tool for automated test and systems administration applications. Despite its age, the book still accurately describes virtually all of Expect’s features — a tribute to the completeness and stability of the extension.
[incr Tcl/Tk] from the Ground Up, by Chad Smith. (Osborrne/McGraw-Hill, 2000. ISBN: 0-07-212106-8.)
Packed with examples and clear explanations, Smith introduces you to [incr Tcl], a widely-used extension that adds object-oriented programming features to Tcl. Smith also covers [incr Tk], an object-oriented framework for constructing megawidgets, and [incr Widgets], a collection of pre-built megawidgets. Unfortunately, it appears as though the publisher has allowed this title to go out of print.
Web Tcl Complete, by Steve Ball. (McGraw-Hill, 1999. ISBN: 0-07-913713-X.)
In this book, Ball covers all major techniques for using Tcl/Tk to write web-based applications. Of particular note is the chapter describing Tcl/Java integration using TclBlend and Jacl.
CGI Programming with Tcl, David Maggiano. (Addison-Wesley, 2000. ISBN: 0-201-60629-1.)
Maggiano provides an excellent overview of CGI technology, and through extensive examples show how to use Tcl for web applications. (It should be noted that Maggiano develops his own Tcl CGI library in this book, rather than using one of the standard Tcl CGI libraries.) Of interest even to non-web programmers is Maggiano’s chapter describing Tcl/Oracle integration using the standard OraTcl extension.