Review:Tcl/Tk in a Nutshell
Despite his long turnaround time, I still have not yet killed CowboyNeal for his long-delayed review of Jeff Tranter and Paul Raines' Tcl/Tk in a Nutshell. Part of the well known O'Reilly Nutshell series, this is a great book for those getting seriously into Tcl/Tk, or those who need a desktop reference. Click below for more information.
Tcl/Tk in a Nutshell
author
Paul Raines & Jeff Tranter
pages
?
publisher
O'Reilly and Associates
rating
7/10
reviewer
CowboyNeal
ISBN
summary
Not for beginners, this book makes a wonderful desktop reference.
Rating: 7/10 What's Good? Being another book in the "nutshell" series, it's no surprise that this book contains all the commonly used commands in Tcl/Tk. Designed to sit on your desktop and help you look up those commands you forgot, this book is a weclome aid to any forgetful Tcl/Tk programmer. Each description has just enough to help one remember the command, without going too in-depth. Each section is devoted to the most oft-used Tcl/Tk tools, such as Expect and [incr Tcl]. The chapters covering the C interfaces use the same style as Java in a Nutshell's class reference, simply listing the function name, it's arguments, and the argument types. While not the best instructional aid, if you already know the function, it's just enough to remind you of how to use it. I really liked the compactness and simplicity of this in previous "nutshell" books, and I like it here as well. When covering some of the extentions of Tcl/Tk (Tix, for example), longer, more in-depth explanatations of each option and/or argument are given, as many people may not have used Tix before. Chapter 15, "Hints and Tips for the Tcl Programmer," is particularly useful, as it contains many "gotchas," the "Tcl way" of doing things, and things that might confuse beginning Tcl/Tk programmers (such as Tcl's parsing), and even a few things that Tcl/Tk gurus may want to brush up on. What's Bad? What I like about some "nutshell" books is that they often provide enough background for one to learn the language that is the subject of the book and begin programming in it. An example of this "Java in a Nutshell", one of my favorites. This book, however, assumes the reader is already a competent Tcl/Tk programmer, and makes no attempts to give an introduction to Tcl or Tk. I read this book in the hopes of picking up Tcl/Tk, but unfortunately it was not written to teach. When I do learn Tcl/Tk, however, I'll have a valuable resource handy to assist me in my coding. Some of the Tcl/Tk tools covered may not be used by everyone (such as Tclodbc), which may make some people as if some parts of the book will go unused. I found that if one uses only the core Tcl/Tk commands, then the majority of the book won't even aid you, as it is aimed at Tcl/Tk extensions. What else is bad? In all seriousness, I couldn't even nitpick further. For a desktop Tcl/Tk reference, this one is tough to beat. I even found myself liking the index. Who should buy this book? If you already know Tcl/Tk, then this book will be a great aid, especially of you use extensions, such as Oratcl or [incr Tcl], then this book will be a great help in remembering the commmands you don't use often, but need to get a quick synopsis of. If you're looking to learn Tcl/Tk, I wouldn't recommend this book, as it doesn't got into a great amount of detail. It would probably help one who hasn't written Tcl/Tk in a while, and is feeling a little rusty get back up to speed quickly.
Rating: 7/10 What's Good? Being another book in the "nutshell" series, it's no surprise that this book contains all the commonly used commands in Tcl/Tk. Designed to sit on your desktop and help you look up those commands you forgot, this book is a weclome aid to any forgetful Tcl/Tk programmer. Each description has just enough to help one remember the command, without going too in-depth. Each section is devoted to the most oft-used Tcl/Tk tools, such as Expect and [incr Tcl]. The chapters covering the C interfaces use the same style as Java in a Nutshell's class reference, simply listing the function name, it's arguments, and the argument types. While not the best instructional aid, if you already know the function, it's just enough to remind you of how to use it. I really liked the compactness and simplicity of this in previous "nutshell" books, and I like it here as well. When covering some of the extentions of Tcl/Tk (Tix, for example), longer, more in-depth explanatations of each option and/or argument are given, as many people may not have used Tix before. Chapter 15, "Hints and Tips for the Tcl Programmer," is particularly useful, as it contains many "gotchas," the "Tcl way" of doing things, and things that might confuse beginning Tcl/Tk programmers (such as Tcl's parsing), and even a few things that Tcl/Tk gurus may want to brush up on. What's Bad? What I like about some "nutshell" books is that they often provide enough background for one to learn the language that is the subject of the book and begin programming in it. An example of this "Java in a Nutshell", one of my favorites. This book, however, assumes the reader is already a competent Tcl/Tk programmer, and makes no attempts to give an introduction to Tcl or Tk. I read this book in the hopes of picking up Tcl/Tk, but unfortunately it was not written to teach. When I do learn Tcl/Tk, however, I'll have a valuable resource handy to assist me in my coding. Some of the Tcl/Tk tools covered may not be used by everyone (such as Tclodbc), which may make some people as if some parts of the book will go unused. I found that if one uses only the core Tcl/Tk commands, then the majority of the book won't even aid you, as it is aimed at Tcl/Tk extensions. What else is bad? In all seriousness, I couldn't even nitpick further. For a desktop Tcl/Tk reference, this one is tough to beat. I even found myself liking the index. Who should buy this book? If you already know Tcl/Tk, then this book will be a great aid, especially of you use extensions, such as Oratcl or [incr Tcl], then this book will be a great help in remembering the commmands you don't use often, but need to get a quick synopsis of. If you're looking to learn Tcl/Tk, I wouldn't recommend this book, as it doesn't got into a great amount of detail. It would probably help one who hasn't written Tcl/Tk in a while, and is feeling a little rusty get back up to speed quickly.
You can pick it up at Amazon.
Table of Contents
Preface
- Introduction
- Tcl Core Commands
- Tk Core Commands
- The Tcl C Interface
- The Tk C Interface
- Expect
- [incr Tcl]
- [incr Tk]
- Tix
- TclX
- BLT
- Oratcl
- Sybtcl
- Tclodbc
- Hints and Tips for the Tcl Programmer
Appendix - Tcl Resources
Index
I have very little experience with TCL, however by relying on this book, my programming knowledge in other languages and just by browsing through some TCL scripts I got my hands on, I was able to teach myself a working knowledge of TCL. True, not everyone can learn like this, but for those who can, this is the perfect book to learn TCL.
Actually, TCL is not dead. I use it almost every day to script irc clients and bots.
You forget that there are still people giving first aid to the dead corpse. For example it is still the language for commercial programming. Refer to http://sunscript.sun.com for example.
Baker's Law: Misery no longer loves company. Nowadays it insists on it
http://www.sigsegv.cx/
Story Server uses tcl as their scripting language.
Tcl is alive and well in the Informix database application development world.
Hrmmm.....
Frankly makes me want to go out and buy this
book, just to keep an alternative to perl alive.
I found the review as well thought out as it could be under the circumstances. My suggestion is that slashhdot should have book reviews done by people who have experience with the language.
As someone who is a very experienced Tcl/Tk programmer, I cannot trust a Tcl/Tk book review done by someone who admittedly has little or no experience with the language. Although the reviewer mentions that the book is not for the beginner, he lacks the understanding of the language to adequately comment on the ability of the book to address advanced issues.
Please understand that this is not an attack. As I said, I found the review gave a good overview of what is covered, all things concidered.
The author of the review went in with incorrect thoughts about the series of books... The "Nutshell" series is (and always has been) the eqivalent of a man page for commands within the given system.
Simply stated, it's a (very large and detailed) command reference card, not a howto.
I don't know. I really like PERL. I also really like Tcl/Tk, mainly because of Tk. But I don't like PERL/Tk. So for me at least, Tcl still lives.
TCL is a sorry excuse for an extention language. Use guile scheme instead. Stallman posted his thoughts on this a long time ago.
i understand the purpose of the nutshell books is not to teach, but to be a reference. in that light, could someone reccomend a good book for starting to pick up tcl/tk?
Ha. Scheme as an extension language. I had to
learn scheme in my CS courses and it was a big
pain. Why would anyone want to use scheme in
real life when Tcl makes everything so much
easier? RMS is a bright guy but he is flat out
wrong when it comes to Tcl.
Couldn't have put it better myself?
Toby
Perl serves an almost completely different purpose than Tcl. Perl makes a lot of things easier than any other language, if you are trying to do those things. What Tcl is great in, is embedding in a C program. You can add your own commands to the language which are actually handled by your C functions, and make a scripting language for you C program, either internally, or letting the users (or other developers) easily add their own scripts. disclaimer: some things are possible in some languages but easier in another language. Use what works. Knowledge is power.
-- a Perl and Tcl programmer
there are some posts here that say that TCL is dead.. I think not. THere are several companies that use tcl internally, SCO is one of them, as well as AOL, and I have heard that Cisco also uses TCL. Perl/Tk is also very much alive, as TK offeres a very nice and easy way of doing a GUI for Perl. Being someone who has used Tcl/Tk I have found that it is a quick way to bring a GUI alive, and also extremly good for prototyping an application. Once one masters Tcl/TK it can be a very powerful scripting language. Although I have not msatered it yet.
Only 'flamers' flame!
Amazon isn't the cheapest.
http://www.addall.com;
results:
A1BOOKS: $16.25 + $3.95 s/h = $20.20
BOOKPOOL: $16.50 + $3.80 s/h = $20.30
FATBRAIN: $19.95 + $4.95 s/h = $24.90
AMAZON: $19.96 + $7.95 s/h = $27.91
The book Tcl/Tk In a Nutshell is cryptic for beginners like me. For instance, the group listing of commands starting on page 11 contains three columns. The first seems to be a package type of some kind (file, info,array...) The second is the command, and the third explains what the command does.
But the book never explains what the first column is, and at that point in the book (page 11!) it is by no means obvious to a beginner.
Even so I am glad I got it. I wanted something reliable and up to date, and I have usually had good luck with O'Reilly books in the past. Plus, my wife enjoys it when I read her the descriptions of the animals on the cover. This one features an ibis.
Marjo Wycam, Master of the Programming Arts
What scripting language you use may depend on the application and on your background. Different horses for different courses. TCL has the advantage of only needing one data type - strings. :~) Perl lets you exercise your fingers with its cartoon-obscenity syntax. I like Python, for everything. It is OO, and it is very esay for another programmer to read - it has been described as executable pseudocode. http://www.python.org
Amazon is almost NEVER the cheapest. Tell us something new.
Amazon is just the spammest. Links in the face everywhere.
That's a valid comment; no disrespect to the review, reviewer, or commenter.
Just to point out that I do a number of reviews on C++ and programming in general, and am quite a competent C++ programmer.
My GIMP review should be posted shortly, and I'll admit I'm not a GIMP god but I do use it for graphics needs (whenever I have such needs).
I'll probably review another UML book shortly, if anyone's up for that.
--
Marc A. Lepage
Software Developer
So you probably knew C (or something similar) before you took the classes. Scheme is no pain unless you're spoiled by the braindead(IMNSHO) infix syntax of imperative languages. As a language it has more good properties than any assembler derivative (read anything in the C family) will ever have. If you didn't realize the good things in Scheme when you studied, then you didn't learn it properly. You were motivated to learn it well, weren't you ? (and not hacking with C, when you were supposed be doing scheme.) My guess is that you just didn't study it on principle, because you felt the the language you're using right now is the best one there is.
After using C++ for several years I changed to Common Lisp and it's heaven compared to C++, I was stupid not to change sooner.
AC
ps. Try to stay open-minded...
Do your comments apply to C++ programs as well?
Marjo Wycam, Master of the Programming Arts
I've found Tcl to be such an *ecch* method of creating an interface. I can't wait until SOME government brings out a law agaisnt it.