Search past question, project, seminar or forum topic:
The name Tcl is derived from "Tool Command Language" and is pronounced "tickle". Tcl is a radically simple open-source interpreted programming language that provides common facilities such as variables, procedures, and control structures as well as many useful features that are not found in any other major language. Tcl runs on almost all modern operating systems such as Unix, Macintosh, and Windows (including Windows Mobile).
While Tcl is flexible enough to be used in almost any application imaginable, it does excel in a few key areas, including: automated interaction with external programs, embedding as a library into application programs, language design, and general scripting.
Tcl was created in 1988 by John Ousterhout and is distributed under a BSD style license1 (which allows you everything GPL does, plus closing your source code). The current stable version, in February 2008, is 8.5.1 (8.4.18 in the older 8.4 branch).
The first major GUI extension that works with Tcl is Tk, a toolkit that aims to rapid GUI development. That is why Tcl is now more commonly called Tcl/Tk. The language features far-reaching introspection, and the syntax, while simple2, is very different from the Fortran/Algol/C++/Java world.
Although Tcl is a string based language there are quite a few object-oriented extensions for it like Snit3, incr Tcl4, and XOTcl5 to name a few. Tcl was originally developed as a reusable command language for experimental computer aided design (CAD) tools. The interpreter is implemented as a C library that could be linked into any application. It is very easy to add new functions to the Tcl interpreter, so it is an ideal reusable "macro language" that can be integrated into many applications.
However, Tcl is a programming language in its own right, which can be roughly described as a cross-breed between
• LISP/Scheme (mainly for it's tail-recursion capabilities),
• C (control structure keywords, expr syntax) and
• Unix shells (but with more powerful structuring).
Other topics you might be interested in:
Can't find what you need? Tell us: