Hot skills: become a speedy software developer with TCL

TCL used for testing

What is it?

Sometimes classed as a client-side web programming language along with Javascript, Jscript and VBscript, TCL has a far wider range of uses, particularly in application integration, and it is possibly the most widely adopted language for automated hardware and software testing.

TCL is free to download. It can be used to create cross-platform applications. TCL and its graphical user interface tool, TK, take care of platform-specific issues, such as look and feel. The language is very extensible potentially, any application developed in TCL can add functionality to the language.

For users who are wary of open source, TCL is available in a commercial distribution with full service and support. ActiveTCL from ActiveState is described as "the industry-standard TCL distribution".

Where did it originate?

John Ousterhout began working on TCL at Berkeley in 1987. His aim was to create an embeddable command language, and he had three specific goals: it must be simple and generic, so that it could work easily with many different applications it must be easy for each application to add its own features to the language and, since most functionality would come from applications, TCL would integrate or "glue together" the extensions.

In 1994, Ousterhout joined Sun, where TCL/TK was seen as "the perfect complement to Java for scripting and system integration". In 2000, the TCL Core Team was formed to take responsibility for development away from any single commercial organisation.

What's it for?

TCL is most commonly used for rapid prototyping, scripted applications, graphical user interfaces, testing using the "TCL test" framework, and CGI scripting. A small-footprint form of the language is used for embedded systems work.

TCL has a simple syntax, which makes code easy to write and to maintain. According to the official TCL website,, "TCL scripts are often more compact and readable than functionally equivalent code in other languages."

TCL is extensible with C, C++ and Java, as well as itself, and it has extensions for MySQL, Oracle, Sybase, PostgreSQL, Berkeley DB, SQLite and ODBC-compliant databases. Recent versions include object-oriented extensions.

What makes it special?

Portability and speed of development, with supporters claiming TCL can be five to 10 times faster than other languages, particularly for applications involving graphical interfaces.

Ousterhout says, "Many TCL users assert that TK is the only reason they use TCL. Some of them do not even like TCL and wish that TK could be mated with a different scripting language. In fact, this has happened several times, including TKPerl and Python."

How difficult is it to master?

For such a powerful language used by "elite" programmers, TCL has a simple syntax, which is applied in a consistent way. It is sometimes used as an introduction to programming for students.

Where is it used?

TCL is used widely by software and networking suppliers and by end-user organisations, including AOL, Shell, broadcasters and defence and aerospace companies. The TCL website says Oracle, Sybase and Cisco "have millions of lines of TCL testing code".

What systems does it run on?

Windows, Macintosh, Linux and most flavours of Unix. About two-thirds of downloads of TCL are thought to be for use with Windows.


Tutorials, downloads and links to TCL code resources are available online. The standard ActiveTCL distribution is also available for download.

Rates of pay

Developers with TCL skills plus Java or C++ can earn £25,000 to £36,000. TCL contract test engineers can earn £40 to £45 an hour.

Looking for Software Developers?  Get free quotes from up to 6 leading Software Developers.

Read more on Business applications