Practical Programming in Tcl and Tk, Fourth Edition, by Brent B. Welch, Ken Jones and Jeffrey Hobbs
Tcl and Tk are scripting languages that have been around for more than a dozen years. This book's primary author, Brent B. Welch, was a student of Tcl's creator, John Ousterhout, and has worked with Tcl since its invention.
I've used Tcl almost since its inception, but I never really learned the Tcl/Tk hybrid. I read Ousterhout's Tcl and the Tk Toolkit about five years after it was published, and I found the information difficult to apply to current programs, because Tcl/Tk has changed over the years. This book is far more timely.
Practical Programming in Tcl and Tk, 4th Edition, is an impressive volume, at almost 900 pages. Both the table of contents and index are thorough, and the volume is extensively cross-referenced. Presenting so much material is difficult, but the cross-referencing allows a number of topics to be put on the back burner when they haven't been discussed. Furthermore, backward references are useful for providing a refresher on old topics.
One of the outstanding points is that this book spells out in which versions newer features were introduced. These tidbits are sprinkled throughout the text.
The book is hands-on, and you should try the examples as you're reading the text. All the listings are on the accompanying CD-ROM, along with distributions of Tcl, a number of extensions and a mirror of the wonderful Tcl Wiki as of April 2003. The CD-ROM is useful if you don't have a fast Internet connection. But what the book calls examples often are mere Tcl snippets. I would far prefer fewer, longer examples that could execute as complete programs.
The primary author is receptive to feedback and keeps an up-to-date set of errata on his Web site, which you should check. I'm anxious to apply what I've learned to modify a number of Tcl programs I use and to read other books on Tcl. I heartily recommend this book if you want to learn Tcl.