Recommended Books on Tcl/Tk

I managed to read books on Tcl/Tk in the pessimal order, which makes me some sort of expert, I guess.

If you're going to get only one book, you should get Practical Programming in Tcl and Tk. It is a great thick book that contains almost everything you could want to know about Tcl and Tk. Serious Tcl/Tk programmers should read it through and keep it available as a reference. It is not suitable for beginning programmers. In theory, a programmer experienced in other languages could slog through it, but for most people it will be desirable to acquire a basic acquaintance with Tcl first. Even for beginners, however, it is useful as a reference. It is organized topically, like a textbook, so it is not merely a command and widget reference.

John Osterhout is the creator of Tcl and Tk, so for some time his book Tcl and the Tk Toolkit was the primary book on the topic. It is now rather out of date so it can't be recommended as one's primary reference. It is, however, very well written. If you are already familiar enough with Tcl that you can keep in mind the differences between the current version and the one discussed by Osterhout, it is worth reading.

Effective Tcl/Tk Programming is a useful read for someone already familiar with the basics of Tcl/Tk. The emphasis is on the design, packaging, and configuration of user interfaces using Tk. Although it uses Tcl as the language, the emphasis is on Tk rather than deeper understanding of Tcl itself.

Tcl/Tk: A Developer's Guide is an introduction to Tcl and Tk for programmers familiar with other languages.

Many people are interested in Tcl primarily because of Expect, a Tcl-based toolkit for scripting interaction with interactive command-line programs, such as ftp. If Expect is your interest, Exploring Expect is the book to get, written by its creator.

Tcl/Tk in a Nutshell is neither a textbook nor a detailed reference manual. It is a terse quick reference, listing commands, widgets, and so forth. In addition to Tcl and Tk, it covers a number of extensions. It is not suitable as a textbook by itself.

Those seeking an introduction to Tcl/Tk should consider the on-line tutorials. As its name suggests, A Non-Programmer's Introduction to Tcl/Tk is suitable for people with no knowledge of programming. This tutorial is an introduction to Tcl (not Tk) for people with some knowledge of programming.

Practical Programming in Tcl and Tk
Brent Welch, Ken Jones, and Jerry Hobbs
Effective Tcl/Tk Programming
Mark Harrison and Michael McLennan
Tcl and the Tk Toolkit
John Osterhout
Exploring Expect
Don Libes
Tcl/Tk: A Developer's Guide
Cliff Flynt
Tcl/Tk in a Nutshell
Paul Raines and Jeff Tranter