Tcl/Tk Logo

Tcl/Tk Programming Language

Tcl 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. The popular combination of Tcl with the Tk extension is referred to as Tcl/Tk, and enables building a graphical user interface (GUI) natively in Tcl.
Developed By: Tcl Core Team

License: Tcl/Tk License (OpenSource)


Download Tcl/Tk: Source Code and Binaries

Current (stable) version: 8.6.x

Tcl/Tk Tool Command Language/Tool Kit is a scripting language for coding embedded applications.
Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible.
Tk (Toolkit) is a graphical user interface toolkit that takes developing desktop applications to a higher level than conventional approaches. Tk is the standard GUI not only for Tcl, but for many other dynamic languages, and can produce rich, native applications that run unchanged across Windows, Mac OS X, Linux and more.
Sample Code (Tcl/Tk Syntax)
# tcl/tk language: tclsh test.tcl

package require Tk

proc helloWorld {runTest} {

    set myString1 "Hello"
    set myString2 "World"

    set myNumber 1

    # force cast to bool
    set myTest [expr {!! $runTest}]

    set myOutput "Test was disabled ..."
    if {$myTest} {
        set myOutput "${myString1} ${myString2}, this is number: ${myNumber}"

    return $myOutput


set testResult [helloWorld true]

# prints the result to console
puts $testResult

# *optional* prints the result to a Tk Dialog Widget (GUI)
tk_messageBox -type ok -message $testResult
exit 0

#end tcl/tk language