If you have no Tcl/Tk installed yet, first go to places to find Tcl binaries and sources.Certainly there are a number of pages here on the Wiki [please help fill appropriate ones in] that will be of use to someone attempting to learn to program in Tcl and Tk. There is What is Tcl and Beginning Tcl as well as a number of follow up pages. There is Beginning Tk as well as a number of pages showing all sorts of examplesi [why not add a few pointers to example pages that you find personally helpful to someone with programming knowledge and who is learning Tcl for the first time?]. This page might be a useful place to gather such pointers.If you are searching for Book reviews / recommendations, see Informal Tcl Book Reviews. For learning Tcl/Tk from the beginning, I recommend the program Tcl Tutor in the first place. See Online Tcl and Tk Tutorials for additional info.A User's Guide to Tcl/Tk is the top of a set of pages here on the Wiki that discuss how to use Tcl and Tk programs. For instance, discussions of default key bindings, what a user of a Tk program can do with respect to changing the default colors, bindings, values, language, etc.As for useful pointers to the WWW, check out the Dirty Dozen, which describes a number of WWW resources relating in some way to Tcl. And if you're in the mood for reading, check out the Tcl Articles archive.See http://www.purl.org/tcl/home/scripting/primer.html for an intro article on Tcl.See also Tcl Intro, a document that aims to be the Tcl equivalent of Perl's perlintro man page.Then, some talk about a few of your favorite things.--- Most of the TCL docs are "What to do" not "How to do it".LV: If you would elaborate perhaps someone could accomodate your suggestion... How about you write a document in the style that you seek?LH: Well, I have a dream about just this very thing. As a non-programmer, I am often stumped by the examples in books. Generally, the section will discuss a topic, and give a short example. If I "get" the example, fine. If not, well......My dream is a scripting language framework for someone who (like me) is new to programming. It should be able to teach the language and the concepts of programming at the same time. It should be okay material for someone who chooses scripting as a first language.For example, in a section you discuss the 'list' command, and give two or three examples. Then you have a workbook section where the reader is given a problem, and then a possible solution with a good explanation.If this were structured, you could combine three to five sections into a chapter, and have the chapter build some useful larger program that demonstrated programming concepts.My dream requires different skills. It needs some educational theorists who can design the structure and pace the learning. They would also identify different learning styles and advise on how to accomodate them.It would take the skill of breaking a concept into small parts, and showing how each part works to someone without the writer's level of skill.It would take people who can clearly communicate programming theory; both the concepts and experienced-based "best practices".Make sense?GPS: That makes a lot of sense. In some ways the book Effective Tcl - Writing Better Programs in Tcl and Tk teaches in this manner, but I don't consider it to be a beginner's book.LH: Effective Tcl is a good book, but you are right, it does not seem to be a beginner's book. The BOOK Tcl/Tk for Real Programmers is another good book, but again, it is even less for non-real programmers. Ousterhout's Book Tcl and the Tk Toolkit is a good level for newbies, but doesn't build the meta-skills. Welch's Book Practical Programming in Tcl and Tk is good, but again (my copy is the 2nd ed.) leaves new programmers behind.I think that the wiki has a lot of opportunity in this area. If you have some code and an example, and someone doesn't understand, you can easily add another example. You can also review questions on places like c.l.t. (the comp.lang.tcl newsgroup) and integrate the answers here.[DLB] Alan Gauld's online tutorial "Learning to program" IS aimed at non-programmers. While the principle illustration language is Python, he also gives examples in Tcl (included with Python distributions) and Basic. http://www.freenetpages.co.uk/hp/alan.gauld/LV Alas, while he previously provided alternative examples in Tcl and QBasic, he now provides them in VisualBasic and JavaScript.
Another tutorial that is available on the web is http://www.geocities.com/binnyva/code/tcl/tutorial/index.html
- tcltutorial
- starter tcl
- ide
- tcl editors
- are there tools which are required or would be useful when developing in tcl
I got introduced to Tcl/Tk through the 1st edition of Beginning Linux Programming [1]. It had a neat sliding-puzzle piece demo that got me hooked. After doing as much as I could with that I got Effective Tcl/Tk Programming.
Be sure to read Arts and Crafts of Tcl-Tk Programming here on the (Wiki).
LV 2007 July 16Here's what I recently wrote in comp.lang.tcl, in response to a request for what someone wanting to start coding Tcl on Windows might need:
- Find a good tutorial. If you want a printed book, my favorite suggestion is to check at the public library in your area, and ask if they can help you locate, perhaps through a loan from another library, several of the tcl books that come highly reccommended. Browse to see which matches your style of learning best. Then see about tracking down a copy - this is a non-trivial task :-( as most are out of print.
- If you don't care about a professionally printed and bound book, take a look at the interactive program Tcl Tutor - see http://wiki.tcl.tk/1681 for info on where to find it. There's even a link on that page to tcltutorial, the webified version of the content being worked on in conjunction with Tcl 8.5.
- Find a way to edit programs. I know we started with notepad and then went to word pad. Basic, free, and required no downloads. However, that gets old fast. There are commercially available editors as well as plenty of free editors. Some are general purpose text editors with a little tcl highlighting supported. Some are more complex editors making programming a bit easier. Again, it all depends on your style. However, if you already use a favorite text editor, you may find it either already has some tcl support, or might be able to be support macros or some other ability to support tcl.
- Find Tcl itself. By this I mean something to run the tcl programs that you are about to edit. If you have the freedom, and the license matches your expectation, I highly recommend ActiveTcl (see http://wiki.tcl.tk/activetcl for details). It contains lots of useful tcl extensions that developers find invaluable.
- Find an interesting project on which to work. Read the wiki, ask questions, and answer when you know the answer. Read comp.lang.tcl, ask questions when you see something you don't understand.
- Have fun!
Category Tutorial