Much of the Tornado implementation is written in Tcl (the tool command language designed by John Ousterhout). Readers who are already familiar with Tcl applications are not likely to find this surprising.
However, if Tcl is new to you, you may be wondering why. Choosing Tcl as the implementation vehicle has the following benefits:
|
CAUTION: When you customize Tornado tools, write your changes as separate files that override the original tools. That way, Tornado WRS technical support can still help you, if the need arises; and it will be easier to preserve your enhancements over new releases of Tornado.
|
||||||||||||||||||
Tcl is a scripting language which is designed to be embedded in applications. It can be embedded in applications that present command-line interfaces (the Tornado shell, for example) as well as in those that do not (such as the browser). Almost any program can benefit from the inclusion of such a language, because it provides a way for users to combine the program's features in new and unforeseen ways to meet their own needs. Many programs implement a command-line interface that is unique to the particular application. However, application-specific command line interfaces often have weak languages. Tcl holds some promise of unifying application command languages. This has an additional benefit: the more programs use a common language, the easier it is for everyone to learn to use each additional program that incorporates the language.
To encourage widespread adoption, John Ousterhout (the creator of Tcl) has placed the language and its implementation in the public domain.
Tk is often mentioned in conjunction with Tcl. Tk is a graphics library that extends Tcl with graphical-interface facilities. Tornado does not currently use Tk, but you may find Tk useful for your own Tcl applications.