[http://www.equi4.com/pub/om/pub/tclerswiki.png] [Tcl] and its extensions, [Tk] and [Expect], are powerful tools that allow you greater control over your systems, and easier control of interactions between systems. This the primary starting point for [beginner%|%those looking to learn] Tcl. Is there a topic you feel should be discussed but which often isn't? Add it to one of the categories below! [RS]: A hint not only for beginners: due to its interactive nature, Tcl itself is a very good teacher. Start up an interactive tclsh (i.e. not specifying a script file). Type commands in, see how it reacts. Make intentional errors (you can hardly break anything). Read the error messages, they're very often very helpful. [LV]: I would, however, suggest that they could locate and use [tkcon], if tclsh's minimalistic interface is difficult to use. Also, if you are using ''vanilla'' [tclsh], read up on the [history] command. ** See Also ** [A User's Guide to Tcl/Tk]: [Documentation]: [Tcl Developer Guide]: [Beginning Tk]: Learn to wield the most productive [GUI] toolkit ever [Learn to Program]: The general art of programming introduced from a Tcl perspective [Tcl Commands]: manpage extracts for selected commands - and extra notes that are not in the manual [Advanced Tcl]: topics which usually come up after someone has a grasp on the basics of Tcl and Tk [http://www.purl.org/NET/Tcl-FAQ/%|%comp.lang.tcl FAQ]: contains a list of tutorials ** Preliminaries ** [Getting Started]: [Starter Tcl]: [Show me an example]: a step-by-step walthrough of a first Tcl program [IDE]: [Tcl Editors]: [Are there tools which are required or would be useful when developing in Tcl]: [Is there anything I should know before I start coding]?: ** Where to Ask for Help ** It's always a good idea to search this wiki and the Internet for answers first. If good information is not to be found, the following resources provide information on where and how to ask for help. [comp.lang.tcl]: one of the best places to ask for help. Make sure to read the introduction and posting style guide first. [Tcl Questions and Answers]: [Ask, and it shall be given.]: ** [John Ousterhout]'s Materials ** [John Ousterhout], the creator of Tcl, produced various tutorials, guides, and references, and also the classic book on Tcl. [http://wfr.tcl.tk/fichiers/images/dummymed.jpg] [BOOK Tcl and the Tk Toolkit]: [An Overview of Tcl and Tk]: [An Introduction to Tcl Scripting]: based on John's powerpoint tutorials [Writing Tcl-Based Applications in C]: based on John's powerpoint tutorials [Building User Interfaces with Tcl and Tk]: based on John's powerpoint tutorials [ftp://www.tcl.tk/pub/tcl/doc/tut.tar.Z%|%postscript versions of John's powerpoint tutorials]: [http://www.tcl.tk/doc/scripting.html%|%Scripting: Higher Level Programming for the 21st Century]: IEEE Computer Magazine, 1998-03. The article that layed out [Ousterhout's Dichotomy] ** Books ** [Book Practical Programming in Tcl and Tk%|%Practical Programming in Tcl and Tk]: (in print) [Book Effective Tcl - Writing Better Programs in Tcl and Tk%|%Effective Tcl - Writing Better Programs in Tcl and Tk]: [Book Tcl and the Tk Toolkit%|%Tcl and the Tk Toolkit]: ** Tutorials ** [Online Tcl and Tk Tutorials]: [Tcl Tutorial Discussions%|%discussion page%|%]: ** Beginner Introductions ** [tcltutorial]: a community tutorial [An Introduction to Tcl Scripting]: [Beginning Tcl]: resources at the beginner level [What is Tcl]: [Tcl Intro]: [Tcl for beginners]: [Show me an example]: [Talk to me, Tcl]: how to learn using an [Interactive Tcl%|%interactive Tcl] ** Technical Introductions ** [An Overview of Tcl and Tk]: [An Introduction to Tcl Scripting]: [Intermediate Tcl]: resources at the intermediate level [Advanced Tcl]: resources at the advanced level ** Curricula ** [Tcl for Kids]: [Tcl Learning Exercises]: A list of exercises, in order of difficulty ** Exercises ** [What's My Line?]: a game-like exercise where the goal is to guess the output of the Tcl script [BOOK Programming Language Examples Alike Cookbook%|%Programming Language Examples Alike Cookbook]: Reimplements in other languages, including Tcl, examples from the O'Reilly Perl Cookbook ** Learning Programs ** [TclRobots]: a programming game in which one writes Tcl programs to control a robot which must survive a battle with other robots [Tcl Tutor]: a free, downloadable, multi-platform tutorial for Tcl [Tcltalk]: an interactive learning tool and development environment for Tcl/Tk ** Documentation ** ** C API ** [Writing Tcl-Based Applications in C]: ** Instructional Pages, Beginner ** This is a selection of pages deemd to be particularly intructive for learning Tcl idioms and usage. The [Tk] page has a similar section specifically for Tk usage [Arrays / hash maps]: [Tcl Quoting]: [Slurping Up Text in TCL]: [Tcl Gems]: [Braintwisters]: [Bag of Algorithms]: useful code examples [Sample Math Programs]: really simple examples of using programming to solve math problems [The infinity trick]: working with "infinity" in expressions [Tcl examples]: more Tcl examples [Regular expressions]: [Uwe Klein]: a bunch of fairly simple Tcl and Tk examples [Additional math functions]: [Sample math programs]: very simple examples '''if''' you have some math background [How to make a Tcl application]: [What kinds of variables can Tcl scripts use]?: [What kinds of variable names can be used in Tcl]?: [Tcl variable scope - how does Tcl control when a variable is seen?]: [What kinds of data can Tcl scripts use]?: [Is there anything I should know before I start coding]?: [Is white space significant in Tcl]?: [Why can I not place unmatched braces in Tcl comments]?: [How can I do math in Tcl]?: [How am I supposed to handle errors in Tcl]?: [debugging%|%What debugging tools are available to a Tcl programmer%|%]?: [How do I read and write files in Tcl]?: [How can I get input from a user and then safely make use of it?]: [How would I program 'ring around a rosie' - looping constructs]?: [How would I reuse my own Tcl code]?: [What do I need to do to reuse someone else's Tcl code]?: [Concepts of Architectural Design for Tcl Applications]: [I cannot get Tcl (or an extension) to compile]: [Setting /bin/sh environment variables in the script]: [http://tcl.sourceforge.net/engManual.pdf%|%Tcl/Tk Engineering Manual]: by John Ousterhout, engineering style guidelines for coding Tcl code ** Instructional Pages, Intermediate ** [Keith Vetter]: A large number of very interesting but small programs [Syntax parsing in Tcl]: [A simple database]: [Complex data structures]: ** The Art ** [Best Practices]: [Tcl Style Guide]: [Tcl style discussion]: [Guidelines for writing big Tcl applications]: [A critical mindset about policy]: A discussion about what belongs in the scripting language, and what belongs in the lower-level implementation ** Resources ** [Contents]: contents of this wiki [http://phaseit.net/claird/comp.lang.tcl/fmm.html%|%Frequently-Made Mistakes in Tcl%|%]: by [CL] [Tcl Editors]: how to edit the text of a program [Tcl Tutor]: [Tcl Help]: [gotcha]: a variety of illustrative code snippets [Informal Tcl Book Reviews]: [TCL programs for beginners 1-10]: [Tcl cheat sheet]: [Glossary of terms]: [Acronym collection]: [Tcl-URL!]: [Practice Scripts]: A list of scripts people have written to learn Tcl [Richard Suchenwirth]: a rich variety of Tcl examples dealing with Unicode, dates, graphics, and more [Donal Fellows]: [Arts and Crafts of Tcl-Tk programming]: [Dirty Dozen]: a selection of web resources related to Tcl [Example scripts everybody should have]: [Tcl Articles]: a list of articles about Tcl [Teaching Tcl]: a discussion about teaching Tcl (not really for those learning Tcl) [Common questions about Tcl]: [http://glx.me/docs/3d-egg/Simple-Tcl-Code/%|%Simple Tcl Code << 3D Egg - glx docs]: short and simple learning examples of oo, socket, and coroutine [Expect Exceeds Expectations, Cameron Laird, 2002]: Argues that [Expect] is the one language you most need to learn ** Training ** [http://www.it-schulungen.com/seminare/open-source/tcl-und-tk/index.html%|%IT-Schulungen.com%|%] (German): ** Misc ** [license]: ** Historical ** [http://www.slac.stanford.edu/~raines/tkref.html%|%Tcl/Tk Quick Reference Guide for 8.0%|%]: [http://www.bodenstab.org/%|%Tcl/Tk Quick Reference Guide, updated fo 8.4, by Bob Bodenstab%|%]: ** What Links Here ** <> <> TOC | Tutorial | Arts and Crafts of Tcl-Tk Programming