Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2350156
  • 博文数量: 609
  • 博客积分: 10061
  • 博客等级: 上将
  • 技术积分: 5920
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-25 08:30
文章分类

全部博文(609)

文章存档

2010年(13)

2009年(39)

2008年(558)

我的朋友

分类:

2008-07-30 10:28:16

一. Tcl / Tk简介

 1.1   背景
Tcl/Tk 的发明人 John Ousterhout 教授在八十年代初,是伯克利大学的教授。在其教学过程中,他发现在集成电路 CAD 设计中,很多时间是花在编程建立测试环境上。并且,环境一旦发生了变化,就要重新修改代码以适应。这种费力而又低效的方法,迫使 Ousterhout 教授力图寻找一种新的编程语言,它即要有好的代码可重用性,又要简单易学,这样就促成了 Tcl (Tool Command Language) 语言的产生。
    Tcl 最初的构想的是希望把编程按照基于组件的方法 (component approach),即与其为单个的应用程序编写成百上千行的程序代码,不如寻找一个种方法将程序分割成一个个小的, 具备一定“完整”功能的,可重复使用的组件。这些小的组件小到可以基本满足一些独立的应用程序的需求,其它部分可由这些小的组件功能基础上生成。不同的组件有不同的功能,用于不同的目的。并可为其它的应用程序所利用。当然, 这种语言还要有良好的扩展性, 以便用户为其增添新的功能模块。最后,需要用一种强的,灵活的“胶水”把这些组件“粘”合在一起, 使各个组件之间可互相“通信”,协同工作。程序设计有如拼图游戏一样,这种设计思想与后来的 Java 不谋而合。终于在 1988 年的春天, 这种强大灵活的胶水 - Tcl 语言被发明出来了。
1.2 定义
 按照 Ousterhout 教授的定义, Tcl 是一种可嵌入的命令脚本化语言 (Command Script Language)。“可嵌入”是指把很多应用有效,无缝地集成在一起。“命令”是指每一条 Tcl 语句都可以理解成命令加参数的形式:
  命令 [参数 1] [参数 2] [参数 3] [参数 4] ...... [参数 N]
脚本化是指 Tcl 为特殊的,特定的任务所设计。但从现在角度看,可以说 Tcl 是一种集 C 语言灵活强大的功能与 BASIC 语言易学高效的风格于一身的通用程序设计语言。
按照 Ousterhout 教授的定义, Tcl 是一种可嵌入的命令脚本化语言 (Command Script Language)。“可嵌入”是指把很多应用有效,无缝地集成在一起。“命令”是指每一条 Tcl 语句都可以理解成命令加参数的形式:
  命令 [参数 1] [参数 2] [参数 3] [参数 4] ...... [参数 N]
脚本化是指 Tcl 为特殊的,特定的任务所设计。但从现在角度看,可以说 Tcl 是一种集 C 语言灵活强大的功能与 BASIC 语言易学高效的风格于一身的通用程序设计语言。
    t c l (读作“t i c k l e ”)脚本语言和t k 工具箱是为X Wi n d o w 系统创建图形用户界面的编程环境。t c l 和t k 非常容易学习和使用,并且利用它们构造用户界面的速度要比利用传统的X Wi n d o w 编程方法快得多。它最初设计用来为交互式工具提供一种可复用的命令语言,但它的实际发展却远非如此,并且在众多的软件产品中被广泛应用。t c l / t k 的真正功能在于,利用t c l 脚本语言几乎完全可以编写复杂的图形应用程序,因而避开了利用C 语言编写界面时所遇到的界面编程的许多复杂性。
   t c l / t k 的正式We b 站点是h t t p : / / w w w. s c r i p t i c s . c o m /。
   在这里t c l 平台是S c r i t p i c s 公司的产品。S c r i t p i c s 公司要把t c l 脚本语言推广到主流的团体中去。S c r i t p i c s 公司提供了开发工具,技术支持和在开发t c l 和t k 公开代码的软件包是对t c l 实行商业支持服务。该站点还具有下载和安装t c l / t k 最新版本的连接。目前,可得到的最新t c l / t k 的版本是8 .4a 。
   t c l 中的可执行程序t c l ,t c l s h ,w i s h 和t c l h e l p 被Red Hat 的r p m 安装在目录/ u s r / b i n 中。可以使用t c l h e l p 调出关于t c l 和t k 的帮助信息。系统中也提供了t c l s h 和w i s h 的手册页。
 
二. 与其它语言的比较
 
 
   
                    C++                    Tcl/Tk                Java

运行程序速度          快                    与 C++ 可比             慢
  
 
调试难易程度         复杂                     简单           比较简单修改完代码需重新
             每次修改完代码需重新编译   修改完代码可直接运行 编译成ByteCode,而且编译速度很慢
          
程序代码复杂    复杂50 行程序代码       简明10 行程序代码      比较简单40 行程序代码
程度以上面的
grep 为例

系统资源占用情况  200MB HD               3MB HD                  20MB HD
               32MB Memory          4MB Memory              4MB Memory
 

代码可维护性          好                       一般                 较好
可移植性


阅读(1164) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~