|
Here are several white papers that provide additional information about
Tcl and scripting in general. There are many more documents on
Tcl available at the Tcl Resource Center.
-
Scripting: Higher Level Programming for the 21st Century
- by John Ousterhout. This appeared in the March 1998 issue of IEEE Computer.
Abstract. Scripting languages such as Perl and Tcl represent a
very different style of programming than system programming languages such
as C or JavaTM. Scripting languages are designed
for "gluing" applications; they use typeless approaches to achieve a higher
level of programming and more rapid application development than system
programming languages. Increases in computer speed and changes in the application
mix are making scripting languages more and more important for applications
of the future.
-
Tcl: A Platform for Integration Applications
- by John Ousterhout.
Abstract.
If you are writing integration applications then you need Tcl. Tcl
provides a dramatically easier way to build integration applications
ranging from simple graphical user interfaces to complex financial,
Web, and management applications. This page explains what integration
applications are, why they are becoming more and more important, and
why Tcl provides the best platform for building them.
-
Tcl: An Embeddable Command Language
- The seminal paper on Tcl by John Ousterhout.
This appeared in the 1990 Usenix Conference.
Abstract.
Tcl is an interpreter for a tool command language. It consists of a
library package that is embedded in tools (such as editors, debuggers, etc.)
as the basic command interpreter. Tcl provides (a) a parser for a simple
textual command language, (b) a collection of builtin utility commands, and
(c) a C interface that tools use to augment the builtin commands with
tool-specific commands. Tcl is particularly attractive when integrated with
the widget library of a window system: it increases the programmability of
the widgets by providing mechanisms for variables, procedures, expressions,
etc.; it allows users to program both the appears and the actions of widgets;
and it offers a simple but powerful communication mechanism between
interactive programs.
-
An X11 Toolkit Based on the Tcl Language (postscript)
- The seminal paper on Tk by John Ousterhout.
This appeared in the 1991 Usenix Conference.
Abstract.
This paper describes a new toolkit for X11 called Tk. The overall functions
provided by Tk are similar to those of the standard toolkit Xt. However, Tk
is implemented using Tcl, a lightweight interpretive command language. This
means that Tk's functions are available not just from C code compiled into the
application but also via Tcl commands issued dynamically while the application
runs. Tcl commands are used for binding keystrokes and other events to
application-specific actions, for creating and configuring widgets, and for
dealing with geometry managers and the selection. The use of an
interpretive language means that any aspect of the user interface may be
changed dynamically while an application executes. It also means that many
interesting applications can be created without writing any new C code,
simply by writing Tcl scripts for existing applications. Furthermore, Tk
provides a special send command that allows any Tk-based
application to invoke Tcl commands in any other Tk-based application.
Send allows applications to communicate in more powerful
ways than a selection mechanism and makes it possible to replace monolithic
applications with collections of reusable tools.
-
Web Building with Tcl
- By Brent Welch.
Abstract.
Tcl makes it very easy to generate web pages,
and we generate pages for two different reasons.
For CGI-like applications (e.g., database access
or forms processing)
we build Tcl code right into the server.
We also use Tcl+HTML templates to generate a
common look and feel and navigational structure for a site.
We use two Tcl-powered web servers.
TclHttpd is built entirely in Tcl
AOLserver is a multi-threaded
server written in C that embeds Tcl interpreters.
Both servers are freely available in open source form.
-
Effects of the Tcl Byte-Code Compiler
- By Brian Lewis.
Abstract.
Tcl 8.0 introduced an on-the-fly byte-code compiler for Tcl.
The compiler results in faster code execution.
However, in some cases, particularly error cases, it can cause
scripts to behave differently than in previous versions of Tcl.
This page describes differences in the semantics of Tcl scripts between
Tcl 8.0 and previous releases of Tcl.
A major goal for the Tcl 8.0 compiler is no changes or very few changes
to Tcl/Tk scripts or C extensions. I have tried very hard to ensure
that the behavior documented in the man pages is preserved but I have
made some changes that are visible at the level of Tcl scripts. Most
of these changes allow Tcl programs to execute faster. The key changes
are the following.
-
History of Tcl
- by John Ousterhout.
Abstract.
People often ask me how I got the idea for Tcl and why it became so popular.
In this page I've attempted to reconstruct the thought processes that led
to Tcl and Tk and trace the evolution of Tcl and Tk over the last decade along
with my path from Berkeley to Sun to Scriptics. As you will see,
Tcl's beginnings were very modest;
the success of the system was quite a surprise to me, and it's only in
retrospect that I've begun to understand the reasons for Tcl's popularity.
-
History of Scripting
- by John Ousterhout.
Abstract.
Scripting languages are not new: they have existed since at least the
1960s. However, the power and sophistication of scripting languages
have improved dramatically in recent years. When coupled with tremendous
increases in computer speed, it has become possible to use scripting
languages for a much broader range of applications than was possible
previously.
Top of page Developer Home
| Ajuba
| Getting Started
| Tcl Advocacy
| Software Resources
| Documents
| Services
| Community
Search
| Site Map
| Feedback
| Contact Us
| webmaster@ajubasolutions.com
Increase page width
© 1998-2000 Ajuba Solutions. All rights reserved.
Legal Notice |
Privacy Statement
Last modified: March 09, 2000 |