BKETCLTK.RVW 980118 "Effective tcl/tk Programming", Mark Harrison/Michael Mclennan, 1998, 0-201-63474-0 %A Mark Harrison %A Michael Mclennan %C P.O. Box 520, 26 Prince Andrew Place, Don Mills, Ontario M3C 2T8 %D 1998 %G 0-201-63474-0 %I Addison-Wesley Publishing Co. %O 416-447-5101 fax: 416-443-0948 bkexpress@aw.com %P 405 p. %T "Effective tcl/tk Programming" Harrison and McLennan point out that they have not written an introduction to tcl or tk in this book. There are other tutorial books for these scripting languages on the market. However, there are reasons for the novice to consider, and possibly even prefer, this work. As the authors point out, a programmer with experience in another language can learn tcl and tk from this text. More importantly, though, the contents here will do a good job of motivating the learner because of the subject matter: *effective* programs. In these pages you will learn how to write a (very simple) mail sending client in only a hundred lines of code, and a sketchpad in two hundred. With a few pages of programming, you can start producing useful and functional applications that *you* control, update, maintain, and add functions to. Of course, one has to start slowly. The programs in chapter one are simple buttons on screen that don't do much. Chapter two doesn't add much in the way of functionality, but it does show you important interface considerations with packing, gridding, and placing in windows. Much more interactivity and function can be added with the help of information about events in chapter three. Chapter four explores the myriad graphical possibilities of the canvas widget for items as diverse as signs, "clickable" graphics, colour dials, and calendars. The text widget, covered in chapter five, can quickly create text editors and appointment books. Alerts, dialogue boxes, sticky notes, and balloon help can all be created with top-level windows from chapter six. Chapter seven shows you how to interact with other programs in order to build graphical front ends and combined applications. "Delivering Tcl/Tk Applications," in chapter eight, covers adding polish to applications, installation, creation of libraries, distribution archives, and Web based applets. Although applications developed with tcl and tk can be run on different platforms, there are some considerations for making programs run more comfortably in each environment, and these are discussed in chapter nine. Two appendices cover getting started with tcl/tk on Windows 95/NT, UNIX, and the Mac, and a brief but good annotated bibliography. The text is clear, straightforward, and the illustrations carry a humour that spices the material without getting in the way. A definite resource for beginning, intermediate, and even advanced tcl/tk programmers. copyright Robert M. Slade, 1998 BKETCLTK.RVW 980118