The continuing popularity of Tcl/Tk teaches us an important lesson in software language market adoption: early market share in an area of profound need with an easy-to-use product yields generations of loyal adherents. Long after opinion leaders in the GUI scripting community abandoned Tcl/Tk for more modern scripting languages, Tcl/Tk remains a major player, largely because of Brent Welch's encyclopaedic
Practical Programming in Tcl/Tk, now entering its third edition and John Osterhout's lucid original text
Tcl and the Tk Toolkit Tcl/Tk survives despite its inelegance ("set x [expr 2 + 2]" rather than "x=2+2") because it was the first practical, well-documented, simple-to-implement solution to the crucial question, "How do I build a GUI for my C program?" Tcl/Tk is available for all major Windows and OS environments, including X11 (native Unix-like windows), Microsoft Windows and Macintosh.
Now with 40 pages of tables of contents, examples and charts, and another 40 pages of newly recompiled indices, Welch's new edition spans 55 chapters divided into seven sections. The sections are divided as follows: two for Tcl, three for Tk, one for the C library and one for updates in Tcl and Tk distributions and functionality. The third edition appears against a healthy backdrop of new Tcl/Tk development. Perhaps the proudest accomplishment of the Tcl community is TclHttpd (chapter 18), a Web server written largely in Tcl. The new server contributes to efforts to unclog the Web server bottlenecks by providing faster client routes to server-side applications while continuing to support the traditional--albeit slower--common gateway interface. The remainder of the book is not new, but it has been augmented and polished.
Welch has expanded discussions and added examples of Tcl's extensibility in C. Tcl/Tk's development scope has grown to include all POSIX internals, such as threads, sockets, TCP/IP interfaces and secure shells.
Recent Tcl/Tk releases enable meta-level execution through eval() and support for Web client plug-ins, all of which are detailed with examples and careful explanation. Functionally, Tcl/Tk lacks nothing compared to modern scripting languages, except lexical flexibility and object-orientated architecture. Nor does it add anything except familiarity, consistency and a long history of above-average documentation.
Welch perhaps wisely omits comparison with his competition, just as Dick Clark never mentions Howard Stern. It is beneath the dignity of ageing market leaders to look back--or even around. --Peter Leopold