From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_05,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10eb76,c5bef61c3b915b31,start X-Google-Attributes: gid10eb76,public X-Google-Thread: 103376,c5bef61c3b915b31,start X-Google-Attributes: gid103376,public From: westley@buffnet.net (Terry J. Westley) Subject: Announcing: Ada 95 binding to Tcl/Tk Date: 1996/05/03 Message-ID: #1/1 X-Deja-AN: 152716318 organization: Just me newsgroups: comp.lang.ada,comp.lang.tcl Date: 1996-05-03T00:00:00+00:00 List-Id: Announcing ========== TASH (stands for Tcl Ada SHell) is a new Ada 95 binding to Tcl/Tk. The TASH home page is http://www.ocsystems.com/xada/tash. Abstract ======== The goal of this binding is to make scripting language features, such as associative arrays, regular expression matching, and execution of OS commands available to an Ada programmer and to allow a Tcl programmer to use Ada in place of C where needed. This binding exploits several new features of Ada 95 that make interfacing to C much cleaner and more direct than Ada 83. The Ada Programming Language (for comp.lang.tcl readers) ============================ The Ada programming language is a wonderful integration of traditional mainstream programming language design and newer software engineering features proven in more recent languages. The result is a language with great expressive power, but also with safety and reliability. New features added by Ada 95 promise further improvements. The Tcl Programming Language (for comp.lang.ada readers) ============================ Tcl (Tool Command Language) is a simple, but powerful, scripting language invented by John Ousterhout at University of California at Berkeley. It is so very different from Ada: interpreted, no data typing, poor management of the name space, and limited modularity. Obviously, this is because Tcl was designed for a different purpose than was Ada. But, Dr. Ousterhout designed Tcl with excellent facilities for using C where appropriate. The resulting environment combines the advantages of a simple scripting language with the power of a compiled systems language. Programming Languages ===================== When starting a programming task, it is important to choose the right tools, especially the programming language. Every language has its strengths and weaknesses and these must be considered (among many other criteria) when making the choice. After choosing a language for a particular task, one often finds the need for features from another language. For example, if a Tcl program grows from a small script into a major program, the lack of good name space management and complex data structures (such as arrays of records) becomes a significant burden. In a similar way, an Ada programmer may find uses for associative arrays, regular expression matching and execution of OS commands found in scripting languages such as Tcl and Perl. Ada/Tcl ======= With its embeddable library of functions, Tcl offers the opportunity to ameliorate this dilemma, as long as one uses C as the "host" language. But, is it possible to use Ada in place of C? With the advent of Ada 95, the task of writing a binding to C has proven to be not only possible, but also very clean and direct. The major objectives of this effort have been to produce a binding which would: - Allow a Tcl program to use Ada in place of C to implement Tcl commands where additional execution speed, more complex data structures, or better name space management was needed, and - Make the Tcl library functions available to an Ada program. These include string and list handling, regular expression matching, hash tables, and access to the X window system (via Tk). For more Information ==================== The TASH home page is http://www.ocsystems.com/xada/tash. Thanks to ========= Mr. G. Vincent Castellano and OC Systems for hosting TASH on the XAda Server (http://www.ocsystems.com/xada). -- Terry J. Westley westley@buffnet.net http://www.buffnet.net/~westley/