Herein lie a series of tips posted to comp.lang.tcl for learning more about
Tcl. Some tips are more practical than others, but all should result in you
learning more about Tcl than you knew before you started...
I have taken the info below from postings by Cameron Laird, Paul Duffin
Eric Galluzzo and myself and reorganized/rewritten it. Feel free to email
if you have additional items for the list.
© Copyright by Larry W. Virden <firstname.lastname@example.org>, 2002
- Use the man pages that come with the source. Note that during the
installation process, the make files create additional links to
a number of the files in the source's doc directory. If you
didn't do a 'make install', then you will need to search through
these files a bit to locate the specify files that you need.
For people who are using binary distributions which came without
man pages, email the provider of the binary distribution and ask
for access to the man pages in some form. Finally, if all else fails,
the man pages are available via http at a number of places such
Resource Center: doc.manual.
It has been mentioned that users might not realize that all of the
Tcl, Tk, and other extension commands have man pages, because the
hundreds of pages that are a part of the system are not listed on
the tclsh(1) or wish(1) man page. This is typical of Unix
documentation - the man pages would be hundreds of pages long
just listing the other documentation pages otherwise. It does
make it a bit tough for a new to Tcl (and Unix) programmer to
figure out where to look though. Locate where your system
has wish installed to see if in a directory above that if there
is a directory called man. If so, then below it should be a series
of directories called man1, man3, and mann. These contain the
various files, in nroff format, that make up the documentation
- Browse the comp.lang.tcl newsgroup every day. Look thru the Usenet
archives at DejaNews or
Reference.com etc. for past
- Talk to colleagues who are using Tcl.
- Read various online tutorials and resources.
John Ousterhout's notes on the intro to tcl and tk are quite good
at getting someone started. See the
comp.lang.tcl launch pad
for pointers to various other tutorials.
- Buy a Tcl based book - or borrow one from the library. There are
several guides to tcl books - I generally recommend the guide in
Part 1 of the comp.lang.tcl FAQ.
Type in the examples, try them out in your programs, etc.
- Attend a class. Some colleges or universities or user groups hold
intro classes. A number of companies offer classes for a price.
At least once or twice a year, a Usenix conference has at least
- Grab code and read it and try it out. Many extensions come with sample
programs. Tk itself has a demo program called widget that gets
installed in the lib/tk directory which many people find very helpful
in learning Tk. Many folk post code to this newsgroup.
Then of course, the
Tcl Software Catalog
has a lot of applications cataloged - and there are more that folk
haven't told me about yet.
Cameron's Tcl Examples page
is another great source of inspiration.
- When someone mentions having draft chapters of a new book up,
go and get them and read them - and send the author notes about any
typos, examples that didn't work, parts you didn't understand or
felt were not clear enough, etc. Or, in any case, when a new
book comes out, try to go thru this process. Reading a book
with an eye towards trying out the samples, and sending feedback
to the author, not only helps you concentrate on the topic more,
but allows the author to continually improve the product. Of course,
before sending errata to the author, ensure that the items in question
are not already noted by the author somewhere on the book's web page.
- Pick a Tcl topic area area that you feel could use some work and began
building pieces of a new FAQ or tutorial.
- When you see someone write a particularly useful posting regarding a
Tcl area you didn't understand as well as you thought, encourage
the poster to write a stand alone articles, magazine articles,
books, or to hold a session at an upcoming conference on the topic.
- Search for articles in magazines and journals on Tcl topics. There is
no existing magazine which focuses on Tcl topics. However, there
are a few magazines which post articles - watch in particular the
Unix and Linux related magazines. If you find references to articles,
not only look up those references, but post them to comp.lang.tcl
so that others can benefit.
- Build a web site, detailing the areas of Tcl that you do understand and
offer to help others in this area. The exercise of helping someone
else frequently builds up your own expertise.
- Investigate other web sites for material relating to Tcl.
- Volunteer at work to be the person who builds new versions of
tcl and extensions. You don't have to be an expert to take a look
at someone else's problem, try to duplicate the problem, help write
up problem reports to go to the author and comp.lang.tcl, do follow
up, etc. Report build or test problems to the authors so they can
make things better - and it helps you understand the software better.
- Do a talk at work or at a local user group on tcl, a Tcl related
conference, www resources, etc. Nothing like the rush of facing a
group of others to 'force' you to learn more about a topic.
- Deliberately attempt to be helpful to others. You learn a lot
by checking to see if sample bug reports reported act the same
on your platform, by posting observations you have about
the problem, or thoughts on how things might work better, or
wishes on how they did work better.
- Chose a special topic of interest, and wrote up an article on your journey
in becoming expert in it. Others will enjoy reading your experiences.
- Present a colloquium on Tcl for a software engineering class you might be
- Volunteer to solve a couple of your System Administrator's (or
database administrator's--BIG opportunities there!) problems that
keep getting pushed to the bottom of her stack, but that you can
solve with Tcl to your mutual benefit. You will find that Expect
and Oratcl/SybTcl/etc. are frequently useful in this domain of problems.
- Write for academic or professional conferences.
- Write for magazines (there are folk on comp.lang.tcl who can help with
- Sign up with special-interest mailing lists. There are many - if
you find one not listed in the
Tcl Internet resources
let me know and I will add it.
- Volunteer to assist in writing the "README: Tcl-URL!" weekly summary.
- Write one of the dozens of tutorials or FAQs that remain undone.
- Write a useful little control panel for your co-workers in Tk that they
expected would be 4 megabytes in Visual Basic.
- Show your local Web workers how Tcl can simultaneously simplify and
dynamicize their server-side designs.
- Unexpectedly receive acceptance on a bid you submitted for a project
using Tcl tools you don't understand (that'll get the blood moving!).
- Volunteer to help Usenix or the Consortium.
- Tell your dissertation committee you can do it in Tcl.
- Feed useful questions and answers to the appropriate FAQ maintainer!
Feed corrections to the FAQ maintainer! Forward news articles and
magazine references to folk maintaining this type of info - I _think_
that someone is actively maintaining a
page of this type of info. Trying to be helpful is very educational
to both the searcher and the recepient.
- Attend the Tcl Conference. Attend the Birds of Feather sessions. Attend
the poster session. Talk to presentors and the attendees. Attend the
sponsored meals and find new areas you can contribute to others
attending. Write up notes on the conference and post to comp.lang.tcl.