Paradigm | Multi-paradigm: event-driven, functional, imperative, object-oriented |
---|---|
Designed by | John Ousterhout |
Developer | Tcl Core Team[1] |
First appeared | 1988 |
Stable release | 9.0.0[2]
/ 26 September 2024 |
Typing discipline | Dynamic typing, everything is a string |
License | BSD-style[3] |
Filename extensions | .tcl, .tbc[4] |
Website | www www |
Major implementations | |
ActiveTcl Androwish | |
Dialects | |
Jim, Eagle | |
Influenced by | |
AWK, Lisp | |
Influenced | |
PHP,[5] PowerShell,[6] Tea, TH1[7] |
Tcl (pronounced "tickle" or as an initialism[8]) is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful.[9] Tcl casts everything into the mold of a command, even programming constructs like variable assignment and procedure definition.[10] Tcl supports multiple programming paradigms, including object-oriented, imperative, functional, and procedural styles.
It is commonly used embedded into C applications,[11] for rapid prototyping, scripted applications, GUIs, and testing.[12] Tcl interpreters are available for many operating systems, allowing Tcl code to run on a wide variety of systems. Because Tcl is a very compact language, it is used on embedded systems platforms, both in its full form and in several other small-footprint versions.[13]
The popular combination of Tcl with the Tk extension is referred to as Tcl/Tk (pronounced "tickle teak" or as an initialism) and enables building a graphical user interface (GUI) natively in Tcl. Tcl/Tk is included in the standard Python installation in the form of Tkinter.
tclcoreteam
was invoked but never defined (see the help page).inception
was invoked but never defined (see the help page).