|
Tcl and TkFiscal 1995 Project Portfolio Report
John Ousterhout
Overall ObjectiveTo create the infrastructure that allows Tcl and Tk to be used as a universal scripting language for the Internet, so that Tcl/Tk scripts can steer all of the resources, applications, processors, and people of the Internet; and so that scripts can be shipped around the Internet and run safely on any platform where they may land.
Objective for FY95To build the Tcl/Tk team; port Tcl and Tk to the Macintosh and PC/Windows platforms; construct an interactive builder for Tcl/Tk applications to allow user interfaces to be created graphically using direct manipulation in a style similar to Visual Basic; integrate the Safe-Tcl security extension into the Tcl/Tk core; and to provide evangelism, training, and support to encourage the use of Tcl and Tk for a variety of purposes within Sun.
DescriptionTcl is a simple interpreted scripting language with the interesting property that it is embeddable: its interpreter is implemented as a C library package that can easily be incorporated into C and C++ applications. Each application can extend the basic language features with new application-specific features, so that Tcl scripts can then be written to control the application. Tk is a toolkit for creating graphical user interfaces; it is implemented as a set of Tcl extensions. With Tk, graphical user interfaces can be created as Tcl scripts without writing any C code. Tcl and Tk have become widely used in the UNIX community for several reasons. First, Tk provides a very simple and high-level interface that makes it possible to write GUI applications 5-20x faster than with more traditional toolkits based on C or C++. Second, Tcl's embeddability makes it easy to create powerful command languages for a variety of applications, and its interpretive nature makes it easy to create hypertext and other forms of active content. Third, Tcl and Tk are both freely available and they run on virtually all UNIX platforms. The goal for this project is to extend Tcl and Tk so that scripts can run on all the interesting platforms of the Internet, not just UNIX workstations. In addition, we will implement security mechanisms so that an incoming script can be executed safely even if it comes from an untrusted sender. Once this has been done, it will become possible to send Tcl/Tk scripts around the Internet to carry out interesting tasks such as workflow, remote device control, automatic purchasing, software installation, and network management. In addition to providing the basic infrastructure for Tcl/Tk applications that span the Internet, we will develop tools to simplify the creation of these applications, and also create a few showcase applications to demonstrate the power of this new programming paradigm.
Accomplishments
ReferencesPublicationsJohnson, R. and S. Stanton. "Cross Platform Support in Tk." Proceedings of 3rd Tcl/Tk Workshop (July 1994): 77-84. Osterhout, J. Tcl and the Tk Toolkit. Massachusetts: Addison-Wesley Publishing Company, Inc. Uhler, S. "A Graphical User Interface Builder for Tk." Proceedings of 3rd Tcl/Tk Workshop (July 1994): 145-146. Welch, B. "Customization and Flexibility in the exmh Mail User Interface." Proceedings of 3rd Tcl/Tk Workshop (July 1994): 261-268. Welch, B. Practical Programming in Tcl and Tk. New Jersey: Prentice-Hall, Inc., 1995.
Return to the Table of Contents
webmaster@sunlabs.eng.sun.com | ||||||||||||||||||||||||||||||||