top of page
  • tecqusition

John Kenneth Ousterhout (FOUNDER OF TCL SCRIPTING LANGUAGE)



WHAT IS TCL?

TCL (pronounced "tickle" or as an ) is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful. TCL casts everything into the mold of a command, even programming constructs like variable assignment and procedure definition. TCL supports multiple programming paradigms, including object-oriented, imperative and functional programming or procedural styles.


WHAT IS TK?

TK is a free and open-source, cross-platform widget toolkit that provides a library of basic elements of GUI widgets for building a graphical user interface (GUI) in many programming languages.


FOUNDATION OF TCL:

John Kenneth Ousterhout born October 15, 1954) is a professor of computer science at Stanford University. He founded Electric Cloud with John Graham-Cumming. Ousterhout was a professor of computer science at University of California, Berkeley where he created the TCL scripting language and the TK platform-independent widget toolkit, and proposed the idea of coscheduling. Ousterhout led the research group that designed the experimental Sprite operating system and the first log-structured file system. Ousterhout also led the team that developed the Magic VLSI computer-aided design (CAD) program.


He received his Bachelor's degree in Physics from Yale University in 1975, and his Ph.D. in computer science from Carnegie Mellon University in 1980. Ousterhout received the Grace Murray Hopper Award in 1987 for his work on CAD systems for very-large-scale integrated circuits. For the same work, he was inducted in 1994 as a Fellow of the Association for Computing Machinery. Ousterhout is a member of the National Academy of Engineering. In 1994, Ousterhout left Berkeley to join Sun Microsystems Laboratories, which hired a team to join him in TCL development. After several years at Sun, he left and co-founded Scriptics, Inc. (later renamed Ajuba Solutions) in January 1998 to provide professional TCL development tools. Most of the TCL team followed him from Sun. Ajuba was purchased by Interwoven in October 2000. He joined the faculty of Stanford University in 2008

It is commonly used embedded into C applications, for rapid prototyping, scripted applications, GUIs, and testing. TCL interpreters are available for many operating systems, allowing TCL code to run on a wide variety of systems. Because TCL is a very compact language, it is used on embedded systems platforms, both in its full form and in several other small-footprint versions.

The popular combination of TCL with the TK extension is referred to as TCL/TK, and enables building a graphical user interface (GUI) natively in TCL. TCL/TK is included in the standard Python installation in the form of Tkinter.



SOME FEATURES:

  • All operations are commands, including language structures. They are written in prefix notation.

  • Commands commonly accept a variable number of arguments (are variadic).

  • Everything can be dynamically redefined and overridden. Actually, there are no keywords, so even control structures can be added or changed, although this is not advisable.

  • All data types can be manipulated as strings, including source code. Internally, variables have types like integer and double, but converting is purely automatic.

  • Variables are not declared, but assigned to. Use of a non-defined variable results in an error.

  • Fully dynamic, class-based object system, TclOO, including advanced features such as meta-classes, filters, and mixins.

  • Event-driven interface to sockets and files. Time-based and user-defined events are also possible.

  • Variable visibility restricted to lexical (static) scope by default, but uplevel and upvar allowing procs to interact with the enclosing functions' scopes.

  • All commands defined by TCL itself generate error messages on incorrect usage.


FOLLOW US ON INSTAGRAM, FACEBOOK AND PINTEREST


DISCLAIMER

The information is provided by Tecquisition for general informational and educational purposes only and is not a substitute for professional legal advice. If you have any feedback, comments, requests for technical support or other inquiries, please mail us at tecqusition@gmail.com.



7 views0 comments
Post: Blog2_Post
bottom of page