Tcl and Tk Michael U. Ang. history and purpose How it started originally intended to be a reusable command language. After implementing several such.

Slides:



Advertisements
Similar presentations
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Advertisements

Computers Are Your Future
1 GWT Google Web Toolkit Build AJAX apps in the Java language
Software Freedom Day th September 2007 Asia Pacific Institute of Information Technology Colombo, Sri Lanka. Nazly Ahmed Scripting The Web.
PROJECT IN DISTRIBUTED SYSTEMS IPERF FOR ANDROID Developers: Shir Degani, Yuval Degani Supervisors: Prof. Roy Friedman, Alex Kogan.
BY: ALBERTO CABEZAS 4/19/2010. INTRODUCTION: PHP is considered today as one of the most famous scripting languages. PHP is widely used as a general purpose.
Software: Systems and Application Software
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Tutorial 10 Programming with JavaScript
By Brian Patterson & Amanda Perez. PHP was originally created to maintain his personal homepage, hence the name PHP. Development began in 1994 and was.
© Prentice Hall CHAPTER 3 Computer Software.
Chapter 3 Software Two major types of software
Operating Systems.
Computer Software.
AN INTRODUCTION TO LINUX OPERATING SYSTEM Zihui Han.
Web Design Basic Concepts.
Operating System.
Section 6.1 Explain the development of operating systems Differentiate between operating systems Section 6.2 Demonstrate knowledge of basic GUI components.
Lesson 4 Computer Software
What is R By: Wase Siddiqui. Introduction R is a programming language which is used for statistical computing and graphics. “R is a language and environment.
1 Programming Concepts Module Code : CMV6107 Class Contact Hours: 45 hours (Lecture 15 hours) (Laboratory/Tutorial 30 hours) Module Value: 1 Textbook:
Overview of SQL Server Alka Arora.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
CS413: Java Programming language Applications Applets
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
119th International Unicode ConferenceSan Jose, California, September 2001 An Overview of ICU Helena Shih Chapman Doug Felt
PHP Professor Waterman. Agenda What is PHP Versions HTML Dynamic Web sites Interactive Web Sites Installing PHP Transfer pages to a Web hosting service.
Presented by Team D Compare Windows 2000, XP, and.NET By John Leonard, Brian North, Jeffrey Reynolds, Todd Saylor.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Programming language A programming language is an artificial language designed to communicate instructions to a machine,languageinstructionsmachine particularly.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
Chapter 4 System Software. Software Programs that tell a computer what to do and how to do it. Sets of instructions telling computers to perform actions.
Tutorial 10 Programming with JavaScript
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
CS 3131 Introduction to Programming in Java Rich Maclin Computer Science Department.
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
CS2204: Introduction to Unix January 19 th, 2004 Class Meeting 1 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty.
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
In the Labs… X-Bot 2003 by Overtech Technologies.
The (Active) State of Tcl June 2001, slide 1 The (Active) State of Tcl.
9-Nov-97Tri-Ada '971 TASH An Alternative to the Windows API TRI-Ada ‘97 Terry J. Westley
TCL TK. Tcl/Tk C functions can become Tcl commands that are invoked interactively Tk = scriptable, portable user interface –Windows, X (Unix), MacOS,
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
A Remote Collaboration Environment for Protein Crystallography HEPiX-HEPNT Conference, 8 Oct 1999 Nicholas Sauter, Stanford Synchrotron Radiation Laboratory.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Website Design, Development and Maintenance ONLY TAKE DOWN NOTES ON INDICATED SLIDES.
An Overview of Tcl/Tk Programming. Tcl/Tk Tcl (Tool Command Language) is used by over half a million developers worldwide and has become a critical component.
LBSC 690 Session 4 Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
Java Server Pages. 2 Servlets The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Computer System Structures
Python Programming Unit -1.
CST 1101 Problem Solving Using Computers
PERL.
A technical look at new capabilities and features
PHP / MySQL Introduction
5 SYSTEM SOFTWARE CHAPTER
Web Development Using ASP .NET
Chapter 2: The Linux System Part 1
5 SYSTEM SOFTWARE CHAPTER
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

Tcl and Tk Michael U. Ang

history and purpose

How it started originally intended to be a reusable command language. After implementing several such "quick-and- dirty" command languages and experiencing problems with each one, Then decided to concentrate on implementing a general-purpose, robust command language that could easily be integrated into new applications. Thus Tcl (Tool Command Language) was born.

How it started Tcl is used in combination with the Tk ("Tool Kit") library, a set of commands and procedures that make it relatively easy to program graphical user interfaces in Tcl.

What is Tcl? developed by John Ousterhout (OH-stir-howt) at UC Berkeley. Tcl stands for “tool command language” interpreted scripting language; most commonly used to build graphical interfaces in conjunction with Tk. everything is text

Cont… What is Tcl? Tcl programs are simply scripts consisting of Tcl commands that are processed by a Tcl interpreter at run time. example use of Tcl: to build a graphical interface that displays the output of a C command, and/or controls the parameters to the C command.

Cont… What is Tcl? The Tcl interpreter has been ported from UNIX to DOS, Windows, OS/2, NT, and Macintosh environments. The Tk toolkit has been ported from X Window to Windows and Macintosh.

What is Tk? A graphical toolkit that gives one access to many of the graphics primitives of the underlying windowing system, as well as providing access to many types of widgets, such as buttons, scrollbars, menus, and text boxes. a set of commands and procedures that make it relatively easy to program graphical user interfaces in Tcl. Tk defines Tcl commands that let you create and manipulate user interfaces.

What is wish? wish is an interpreter that one can use that: 1) interprets Tcl commands, and 2) interprets Tk commands. wish provides access to the combined functionality of Tcl/Tk.

Versions Tcl/Tk is the recent stable release version. released on July 22, 2003 Tcl/Tk 8.4 latest stable release of Tcl/Tk highly compatible with Tcl 8.3 through Tcl 8.1 introduces new core widgets, significant performance enhancements, numerous command enhancements and improved 64-bit integer and file system support

Tcl/Tk 8.3 compatible with Tcl 8.2 and Tcl 8.1 added many new features to Tk based on the Dash patch and Img patch previous stable release, 8.3.5, was released on Oct 18, 2002 Tcl/Tk 8.2 updated the build process to the new Tcl Extension Architecture. The new features are primarily at the C-level APIs to support new extensions. There are also new regular expression C APIs to support Expect. eliminated minor bugs left over from the 8.1 release Cont… Versions

Tcl/Tk 8.1 was a major overhaul of Tcl/Tk. new support for Unicode and internationalized applications adds thread-safety to the C implementation, and an all new regular expression package that adds Advanced Regular Expressions Tcl/Tk 8.0 one of the widely used release added an on-the-fly byte-code compiler added improved cross-platform look and feel; and a menubar facility and a platform-neutral font naming system last patch release was Cont… Versions

Looking forward Tcl/Tk 9.0 represents the next giant step for core development. Relatively few new features will be introduced in 9.0; instead, development will focus on rationalization and refactorization of the C API's and Tcl commands, and modularization of the core itself. 9.0 does not currently have a release date.

Important Features strengths & weaknesses

1. Easy to learn  Tcl/Tk is a very simple language. 2. Standard syntax  once users know Tcl, they will be able to issue commands easily to any Tcl-based application. 3. Graphical user interfaces  Tcl’s TK toolkit. 4. Cross-platform applications  the same Tcl script can run on any platform, hence it provides an excellent management and integration tool for mixed environments. Features

5. Rapid development  gets their job done faster.  Development is fast because of the rapid turnaround; there is no waiting for long compilations 6. Extensible applications/Embedable  easy to incorporate Tcl into an application  the Tcl interpreter (a library of C procedures) was designed to be embedded in a variety of applications. Cont… Features

7. Flexible integration  easy to coordinate existing components and applications so that they work together effectively. 8. BONUS: It's free!

Drawback As the application gets larger, Tcl/Tk code becomes more and more difficult to understand, maintain and extend.

Tcl Comparison Chart

FeaturesTclPerlPython Java Script Visual Basic Speed of useRapid development Flexible, rapid evolution Great regular expressions Breadth of functionality Easily extensible Embeddable Easy GUIs Internet and Web-enabled Enterprise usageCross platform Internationalization support Thread safe Database access

Sample Programs

This shows a Hello button on the Main window. When you click the button the console window will display the string "Hello World!" on the console. button command creates an instance.b button called.hello. -text string shows the button title. -command string is the command responsed to the button's action. pack command layouts the button on the window. Hello World pack [button.b -text "Hello" -command {puts "Hello World!"}]

Scollbar

Applications written in Perl

AOLserver is America Online's Open-Source web server. a multithreaded, Tcl-enabled web server used for large scale, dynamic web sites. AOL's Digital City US’s largest and most popular local city resource. uses a Tcl interpreter in each of the back-end host processes that provide services to Digital Citys visitors Every Web page in the Digital City network is generated by an embedded Tcl script.

Cisco’s ATS (Automated Test System) composed of several tools and libraries based on Tcl that provide support for writing and executing automated test scripts. Tcl is incorporated in the ATS interpreter to generate libraries that simplify the task of controlling remote devices from automated test scripts. Cygnus's Source-Navigator It extracts information from existing C, C++, Tcl, [incr Tcl], FORTRAN, Cobol, and assembly programs and uses this information to build project databases. Source-Navigator is developed in Tcl, with about 95% of the code in Tcl and the rest in C.

Url’s and Books

or -- Main site where you can find the distribution codes, manual pages and documentations, and other relevant informations regarding the Tcl/Tk product line Home Page for the Official Tcl/Tk Contributed Sources Archive!

-- provides the extra language support needed to build large Tcl/Tk applications. -- introduces the notion of objects, which act as building blocks for an application.

-- The industry-standard Tcl distribution for HP-UX, Linux, Solaris, and Windows. -- free System Requirements for Active Tcl Solaris :: sparc architecture only :: Minimum Solaris 2.6 HP-UX :: PA-RISC :: Minimum HP-UX 11 Windows Systems: :: x86 architecture only :: Win2K,ME or XP: No additional req :: WinNT 4.0, 98: Internet Explorer 5+ :: WinNT 4.0: Service Pack 5+ Linux Systems: :: IX-86 :: Minimum 2.0 kernel

Visual Tcl -- FREEWARE; currently available: Version 1.6.0b2 -- supports UNIX, Windows, Macintosh and AS written entirely in Tcl/Tk and generates pure Tcl/Tk code -- originally written by Stewart Allen, but development has been taken over by Christian Gavin and Damon Courtney

Books Tcl and the Tk Toolkit, by John K. Ousterhout (Addison-Wesley, April 1994) Practical Programming in Tcl and Tk (4 th ed), by Brent Welch, (Prentice Hall PTR, June 2003)

Cont… Books Tcl/Tk: A Developer's Guide (2 nd ed), by Clif Flynt (Morgan Kaufmann; May 2003 )

The End