From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Paradigmmulti-paradigm: object-oriented, functional, procedural, event-driven programming, imperative
Designed byJohn Ousterhout
DeveloperTcl Core Team
First appeared1988; 31 years ago (1988)
Stable release8.6.8 (Dec, 22 2017) / December 22, 2017; 16 months ago (2017-12-22)
Typing disciplinedynamic typing, everything can be treated as a string
Filename extensions.tcl, .tbc[2]
Major implementations
ActiveTcl Androwish
Influenced by
AWK, Lisp
PHP,[3] Tea, PowerShell[4]

Tcl (pronounced "tickle" or tee cee ell /ˈt s ɛl/) or Tool Command Language is a High-level programming language which can be used for many things. Tcl was made to be easy to use, but able to do many things.[5] Tcl's language is based on commands which tell the computer what to do or how to save a variable. Tcl is able to do object-oriented, imperative, functional, or procedural styles.

Tcl is used a lot to in C to create prototypes quickly.[6] There are interpreters available for many operating systems. This means many different kinds of computers are able to run Tcl code. Tcl is a very small language which means it is good to use as embedded systems.

Tcl is sometimes combined with Tk. When it is, it is called Tcl/Tk. Tcl/Tk is a part of the normal Python installation.

History[change | change source]

Tcl was created by John Ousterhout at University of California, Berkeley.[7][8] Ousterhout won a ACM Software System Award in 1997 for making Tcl/Tk.[9]

Safe-Tcl is a form of Tcl that has certain parts turned off so it can't hurt the computer which is running it. Nathaniel Borenstein and Marshall Rose created Safe-Tcl. Safe-Tcl can only work on some files including email messages.

Examples[change | change source]

In Tcl programming, empty whitespace separates words. Commands are ended by going to a new line or a semicolon:

word0 word1 word2 ... wordN

The first word is always a command which comes from Tcl's library:

commandName arg1 arg2 ... argN

For example, the commmand puts makes the computer display something:

puts "Hello, World!"

In that example, "Hello, World!" is called a string. Tcl adds a special character which can't be seen at the end of a line. This character tells the computer to go a new line after the command is complete.

Tcl is able to do math and many other things using variables. In order to use a variable, the programmer must set their value:

set variableA 1
set variableB 2

After a variable is set, it can be used in other parts of the program or set to something different. Variables can be used to perform math:

set x 2
set y 4
set ans [expr $x+$y]
puts "The answer is $ans." # The computer would show: "The answer is 6."

The command expr tells the computer to solve the "expression" or, in this case, an equation.

Easy commands[change | change source]

  • set saves numbers, words, or letters, to a variable. It can also be used to change what is in a variable.
  • proc tells the computer what a new command will do (procedure).
  • if tells the computer to do what is written only if something is true.
  • while tells the computer to do what is written as long as something is true.
  • foreach tells the computer to something for each item in a list of variables.
  • break stops the command from running. This is good to use to get out of a loop.
  • continue stops the active command, but allows the loop to continue. If the loop is a while loop, it will start over. It will let foreach and for go to the next step in the program.
  • return stops the active command and loop, then goes back to the procedure with a value.

Related pages[change | change source]

References[change | change source]

  1. "Tcl/Tk License Terms". Tcl Developer Xchange. Retrieved 2016-11-02.
  2. "Tcl Dev Kit - Compiler". ActiveState Docs. Retrieved 2016-11-02.
  3. Lerdorf, Rasmus (2007-04-26). "PHP on Hormones – history of PHP presentation by Rasmus Lerdorf given at the MySQL Conference in Santa Clara, California". The Conversations Network. Retrieved 2009-12-11.
  4. Windows PowerShell : PowerShell and WPF: WTF
  5. "Language". Tcl Developer Xchange. Retrieved 2016-11-02.
  6. "Uses for Tcl/Tk". Tcl Developer Xchange. Retrieved 2016-11-02.
  7. John Ousterhout. "History of Tcl". Personal pages. Stanford University. Retrieved 2011-08-09.
  8. "History of Tcl". Tcl Developer Xchange. Retrieved 2016-11-02.
  9. "John K Ousterhout - Award Winner". ACM Awards. Retrieved 2016-11-04.

Other websites[change | change source]