★ wanayoo — archive 1999 http://dev.scriptics.com/doc/white.htmlNouvelle recherche | Portail wanayoo
Developer Site
Getting StartedTcl AdvocacySoftware ResourcesDocumentsServicesCommunity
Home
Login | Books | F.A.Q. | Manual Pages | Tutorials |  White Papers| | Y2K | How To Guides | Tcl Extension Architecture
Search 
Scripting | Integration | Compiler Effects | Tcl History | Scripting History

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