Tcl HomeTcl Home hosted by

Google SiteSearch

Tcl has some particularly distinctive features that often aren't well known, even among many long-time Tcl developers. Here are a few that we think everyone should know about!

Take software deployment to a higher level.

Think deployment means "configure && make", or just compiling your scripts into an executable? Tcl has several technologies, including one called "Starkits", that let you take application deployment to a whole new level of power, flexibility and convenience.

The Tcl Virtual File System.

Sure, some other languages have libraries for accessing web or ftp sites, or looking inside zip files. But how many provide an open ended and extensible system that allows you to access any such resource using the same I/O commands you'd use with regular disk files?

Stubs make Tcl Extensions Easy.

Most dynamic languages lets you write extensions to add new features to the core language (Tcl was built on this capability). But usually, you have to compile those extensions against the exact version of the language you're running against, making upgrading painful. With stubs, you can build compiled extensions that work against multiple versions of Tcl.

Themed, Truly Native User Interfaces.

You may have heard people say that Tk doesn't look right (usually people running older versions of Tk). But not only does regular Tk look better, there are many new features that allow you add widget themes to your application, to get exactly the look you want.

Object Oriented Programming.

Heard that Tcl doesn't do objects? In fact, it's quite the opposite problem — there are way too many ways to do objects in Tcl. Find out the real story, and look at some of the different options available.

Event Driven Programming.

One of the things that makes Tcl so powerful is an event-driven I/O model that permeates everything: files, networking, GUI's and more. This makes Tcl programming more consistent, without having to rely on more complex mechanisms or add-on packages like most languages require.