Tcl

Tcl
ParadigmMulti-paradigm: event-driven, functional, imperative, object-oriented
Designed byJohn Ousterhout
DeveloperTcl Core Team
First appeared1988 (1988)
Stable release
9.0.1  / 21 December 2024 (21 December 2024)
Typing disciplineDynamic typing, everything is a string
Implementation languageC, Tcl
LicenseBSD-style
Filename extensions.tcl, .tbc
Websitewww.tcl-lang.org
www.tcl.tk
Major implementations
ActiveTcl Androwish
Dialects
Jim, Eagle
Influenced by
AWK, Lisp
Influenced
PHP, PowerShell, Tea, TH1

Tcl (pronounced "tickle" or "TCL"; originally Tool Command Language) is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful. Tcl casts everything into the mold of a command, even programming constructs like variable assignment and procedure definition. Tcl supports multiple programming paradigms, including object-oriented, imperative, functional, and procedural styles.

It is commonly used embedded into C applications, for rapid prototyping, scripted applications, GUIs, and testing. 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.

The popular combination of Tcl with the Tk extension is referred to as Tcl/Tk (pronounced "tickle teak" or "tickle TK") 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.