karl@sugar.hackercorp.com (Karl Lehenbauer) (12/18/90)
Tcl is a freely redistributable string processing language and programming environment for Unix and Xenix. It is well suited to doing the sort of programming tasks that are typically done as shell scripts and awk programs. I have written several thousand lines and supervised the writing of nearly twenty thousand lines of Tcl code over the last few months, and my experience has been that programmers are enthusiastic about programming in Tcl, that they are extraordinarily productive when using it, and that they come up to speed on it very quickly -- thanks to its simple syntax, likeness to familiar Unix and C language constructs, built-in programming environment, on-line help facility, and thorough documentation, programmers have been able to learn the language and be writing significant programs in it in only one day. In my experience, Tcl has typically outperformed large shell scripts running the usual mix and density of expr, sed, grep, awk, sort, etc, by a factor of ten or more. The execution time of one shell script at a customer site shrank from an estimated 200 hours (they had never allowed it to run to completion) to a little over five hours. Tcl has also proven to be very useful when linked with an application to provide a debugging environment during development. It is a simple matter to drop a Tcl interpreter into a program under development and to write a few C routines whereby you can pass parameters from Tcl, call some piece of your application, collect the results and return them back to Tcl. This really helps with testing and prototyping. Also, Tcl command-controlled debugging versions of memory allocation and free routines are included. These routines can greatly assist in finding bugs in your C code where your code writes past the end or before the beginning of an allocated block. They can also trace allocations and frees by source file name and line number, break on the Nth allocation, and more. I think you will find that the endeavor of setting up an application to include Tcl for debugging pays off the very first time you need to find such a bug. You can do a lot more with Tcl than what I've described here. Some further uses are described in the README document that comes with this release. Mark Diekhans, Peter da Silva, Jordan Henderson and I built the Tcl programming language and environment included in this package on top of the embeddable Tcl interpreter created at the University Of California at Berkeley. All source code to the Tcl interpreter and our extensions are included in this package and may be used for any purpose without license or royalties of any kind, subject only to the requirement that Berkeley's copyright and our copyright messages and liability disclaimers not be removed. Here's one from us. Karl Lehenbauer (uunet!sugar!karl) December 16th, 1990 Following this message will be the README file, then the Tcl release as a 12-part uuencoded, compressed cpio archive. We realize this will cause trouble for a few people, but see our rationale in the README file. We'll do a shar archive for the formal release. -- -- uunet!sugar!karl -- Usenet access: (713) 438-5018