认识Tcl/Tk

1. 易学易用,跨平台
2. 可扩展性好,有许多现成的扩展。

一句话,学好了也可以帮你做很多事情的。

对于极端追求performance的application,不建议使用Tcl/Tk。

下面转载一篇介绍的文章:

选择Tcl/Tk语言的十大理由

---------------------------------------
转载自Tcl/Tk中文网
http://tcltk.126.com
介绍Tcl/Tk语言的基本知识,汇集大量关于
Tcl/Tk的中文原创文章,英文翻译文档,开
设有Tcl/Tk中文网论坛。
---------------------------------------

人们使用Tcl/Tk的原因各不相同的,不过总的来说可以归纳为几类。下面所列的就是当前人们选择Tcl/Tk的10个最主要的原因。

1. 开发应用程序的周期短

人们使用Tcl/Tk 最主要的原因是Tcl/Tk使他们的工作能够更快的完成。许多情况下,用Tcl编写的应用程序比用其他语言编写的应用程序运行速度快5-10倍。这在那些 包含图形用户界面,字符串操作,积分操作的程序中表现得尤为突出。而且用Tcl编写的应用程序稍加修改就能适应变化的需求。

2. 适于开发图形用户界面

Tcl与Tk工具箱相互配合提供了一整套创建图形用户界面的非常简单而又十分强大的工具。比如Tk的Canvas构件,不但可以十分方便的创建图形显示而 且还提供诸如bindings和tags之类功能强大的部件。Text构件则可以提供复杂的超文本功能。在过去,只有Tcl提供了在UNIX下创建图形用 户界面的完美的解决方案,这使得它拥有了一大批早期的追随者。如今Tcl可以在Windows,Macintoshi平台上提供同样出色的功能。

3.能够开发跨平台的应用程序

Tcl可以在Windows,Macintosh和几乎所有能想到的UNIX平台下运行,这使它成为开发跨平台应用程序的绝佳工具。举例来说,同样的 Tcl脚本可以在UNIX,Windows和Macintosh上显示一个图形用户界面,这个图形用户界面在不同的平台上具有不同的外观,使不同平台上的 用户在使用上没有障碍。由于Tcl可运行于所有的主流平台,所以它为那些类似于服务器采用UNIX,桌面采用Windows这样的混合环境提供了卓越的管 理和整合工具。

4. 可以方便的扩展应用程序

如果你想创建一个能让用户自行修改和扩充的,功能强大的应用程序,那么你需要在这个应用程序中包含进一个解释性的脚本语言。Tcl/Tk能非常好的实现这 个目的。Tcl解释器设计的初衷就是要能够嵌入到各种应用程序中。你可以很容易的将Tcl整合到一个应用程序中。Tcl解释器与应用程序能够很自然的融合 在一起,看起来就好像Tcl是专门为编写这个应用程序而设计的语言。

5.具有弹性的整合功能

使用Tcl可以很方便的将已有的部件与应用程序整合起来,使他们能更有效的工作。例如,可以将Tcl用作特殊用途的硬件和协议的控制语言,为陈旧的应用程 序添加图形用户接口或网络接口,或者将以前用C/C++编写的代码与新的Java应用程序整合起来,这使Tcl成为网络管理和工业自动化领域的强大工具。

6.为企业应用提供解决方案

随着Tcl8.1的发布,Tcl成为适合于开发大型服务程序和开发用于执行关键任务的企业级应用程序的首选(也是唯一可选)的脚本语言。脚本语言的优势, 如快速的开发周期,弹性升级,易于整合,是众所周知的,但是在Tcl8.1之前,还没有一种能够满足企业应用程序需求的脚本语言,这些需求包括对国际化, 线性安全,跨平台性,出色的图形用户接口,可嵌入性,因特网访问,数据访问之类的支持。Tcl8.1加入了对国际化的支持和线性安全,使Tcl成为不仅具 有脚本语言的所有优势还能满足企业需求的首选脚本语言。

7.易于调试

Tcl是用于实现硬件自动化和软件测试的理想语言并且可能会成为这方面的主导语言。使用Tcl你可以很容易的连接到测试硬件或是一个应用程序的内部API 接口,执行测试功能,检查结果,报告错误。Tcl的解释执行使测试环境能够迅速的建立起来,并且能够将测试结果以脚本文件的形式保存以用于以后的测试。如 果你正在测试一个软件应用程序,Tcl可以使你直接连接到应用程序的底层API中,这样可以使测试更准确、更全面。

8.易于学习

Tcl是一种非常简单易学的语言,有经验的程序员可以在几天甚至几小时内就可以学会并能开始着手编写应用程序。普通的程序员也能很快的学会Tcl。通常由有经验的程序员编写一些基本的功能,更多普通的程序员应用这些功能来创建自己的应用程序。

9.易于编写网络应用程序

Tcl比任何平台都更易于使用网络设备,编写服务器端和客户端应用程序,只需几行代码,几分钟内就可以创建出来。另外,Tcl还可以很方便的为陈旧的应用程序加入网络接口。

10.庞大的Tcl网络社区

使用Tcl的另一个原因是它具有一个庞大的用户开发者社区,你随时都可以在Tcl网络社区中与别人交换代码、扩展包以及应用程序,还可以得到技术支持。

11.附加一点,Tcl是免费的!

Tcl可以从Tcl Developer Xchang网站上免费的得到,你可以对其代码进行修改以满足自己的需要或者将它用于商业用途。
 
VIVADO经常使用TCL脚本对FPGA进行调试,通过JTAG转AXI对内部模块进行控制,但是TCL语言书籍比较少,这边是一个英文的TCL语言学习书籍. Preface 1 Chapter 1: The Tcl Shell 5 Introduction 5 The Tcl shell 6 Writing to the Tcl console 7 Mathematical expressions 8 Tcl expr operands 8 Mathematical functions 11 Computing mathematical expressions 12 Referencing files in Tcl 13 Variables 15 Command line arguments 17 Chapter 2: Using the Building Blocks Control Constructs 21 Introduction 21 Controlling flow with the if statement 23 Looping with for 24 Looping with foreach 25 Looping with while 26 Continuing a procedure 27 Breaking out of a procedure 28 Nested looping 29 Chapter 3: Error Handling 31 Introduction 31 Using the catch command 32 Using the eval command 34 Using the error command 35 Error handling procedure 36 Chapter 4: Handling String Expressions 39 Introduction 40 Appending to a string 41 Formatting a string 42 Matching a regular expression within a string 44 Performing character substitution on a string 46 Parsing a string using conversion specifiers 47 Determining the length of a string 49 Comparing strings 50 Comparing a string of characters 51 Locating the first instance of a character 52 Locating the index of a character 53 Determining the class of a string 54 Locating the last instance of a string 56 Determining the size of a string 57 Replacing values within a string 57 Locating a pattern within a string 58 Returning a range of characters from a string 59 Creating a string of repeated characters 60 Replacing ranges of characters contained within a string 60 Creating a reverse string 61 Converting a string to lowercase 62 Converting a string to title 62 Converting a string to uppercase 63 Trimming a string 64 Trimming leading whitespace 64 Trimming trailing whitespace 65 Locating the word end 65 Locating the word start 66 Performing variable substitution 67 Chapter 5: Expanding String Functionality Using Lists 69 Introduction 70 Creating a list 70 Joining two lists 71 Joining list elements 72 Appending list elements 73 Assigning list elements to variables 73 Retrieving an element from a list 74 Inserting elements into a list 75 Determining the number of elements 75 Getting a list element 76 Repeating elements 77 Replacing elements 77 Reversing elements 78 Searching a list 79 Editing a list 81 Sorting a list 82 Splitting a string into a list 83 Chapter 6: The Tcl Dictionary 85 Introduction 85 Creating a dictionary 86 Appending to a dictionary 87 Determining if a key exists 88 Filtering a dictionary 88 Searching a dictionary 90 Getting a record 91 Incrementing a value 91 Getting the dictionary structure 92 Getting a list of keys 93 Appending to an existing record 94 Merging two dictionaries 94 Creating a blank dictionary structure 95 Updating variables from a dictionary 96 Determining the size of a dictionary 96 Getting all records 97 Assigning values 97 Chapter 7: File Operations 99 Introduction 99 Opening a file 100 Configuring a file 102 Opening a command pipeline 104 Writing a file 106 Reading a file 106 Closing a file 107 File handling 108 Chapter 8: Tk GUI Programming with Tcl/Tk 111 Introduction 111 Creating a widget 113 Writing to the console 115 Setting the attributes of the window through window manager 116 Creating an additional window 117 Destroying a window 119 Creating a custom dialog 121 Chapter 9: Configuring and Controlling Tk Widgets 123 Introduction 123 Creating a frame widget 124 Creating a label widget 126 Creating an entry widget 128 Creating a button widget 130 Creating a listbox widget 133 Creating an image 139 Creating a simple form 140 Chapter 10: Geometry Management 143 Introduction 143 Controlling layout with the pack command 144 Controlling layout with the grid command 147 Combining pack and grid 151 Creating an address book interface 152 Chapter 11: Using Tcl Built-in Dialog Windows 157 Introduction 157 Displaying a message box 158 Displaying a confirmation dialog 159 Displaying the color picker 161 Displaying the directory dialog 162 Displaying the file selection dialog 164 Selecting a directory and file 166 Chapter 12: Creating and Managing Menus 169 Introduction 169 Creating a menu 170 Adding menu buttons 175 Displaying a pop-up menu 178 Data entry application 180 Chapter 13: Creating the Address Book Application 183 Introduction 183 Creating the Address Book application 184 Adding a record 188 Navigating records 191 Deleting a record 192 Finding a record 195 Full listing 196
目录回到顶部↑第一部分 tcl基础 第1章 tcl的基本概念 1.1 tcl命令 1.2 hello,world! 1.3 变量 1.4 命令替代 1.5 数学表达式 1.6 反斜杠替代 1.7 花括号和双引号的组合 1.8 过程 1.9 阶乘举例 1.10 有关变量的更多细节 1.11 有关数学表达式的更多细节 1.12 注释 1.13 替代和组合总结 1.14 要点 1.15 参考 第2章 开始 2.1 source命令 2.2 unix tcl脚本 . 2.3 windows95开始菜单 2.4 macintosh和resedit 2.5 console命令 2.6 命令行参数 2.7 预定义变量 第3章 guestbook cgi程序 3.1 html快览 3.2 cgi动态页 3.3 guestbook.cgi脚本 3.4 定义表格及处理表格数据 3.5 下一步 第4章 tcl字符串处理 4.1 string命令 4.2 字符串和表达式 4.3 append命令 4.4 format命令 4.5 scan命令 4.6 字符串匹配 4.7 binary命令 4.8 相关章节 第5章 tcl列表 5.1 tcl列表 5.2 构造列表 5.3 获取列表元素:llength、1index和1range。 5.4 修改列表:1insen和lreplace 5.5 搜索列表:lsearch 5.6 列表排序:1sort 5.7 join命令 5.8 相关章节 第6章 控制结构命令 6.1 if then else 6.2 switch 6.3 while 6.4 foreach 6.5 for命令 6.6 break和continue 6.7 catch 6.8 error 6.9 return 第7章 过程和作用域 7.1 proc命令 7.2 利用rename改变命令名 7.3 作用域 7.4 global命令 7.5 使用upvar按名称调用 7.6 使用upvar创建变量别名 第8章 tcl数组 8.1 数组语法 8.2 array命令 8.3 利用数组创建数据结构 第9章 操作文件和程序 9.1 用exec运行程序 9.2 file命令 9.3 跨平台文件命名 9.4 操作文件和目录 9.5 文件属性 9.6 输入/输出命令总结 9.7 为i/o打开文件 9.8 读写操作 9.9 当前目录——cd和pwd 9.10 用glob匹配文件名 9.11 exit和pid命令 9.12 环境变量 第二部分 tce高级编程 第10章 eval命令 10.1 利用1ist构造命令 10.2 eval内部的concat 10.3 uploevel命令 10.4 连接参数的命令 10.5 subst命令 第11章 规则表达式 11.1 规则表达式语法 11.2 regexp命令 11.3 常用的规则表达式 11.4 regsub命令 11.5 使用regsub给tcl转换数据 11.6 其他使用规则表达式的命令 第12章 脚本库和程序包 12.1 定位程序包:auto—path变量 12.2 使用程序包 12.3 package命令 12.4 基于tcllndex文件的程序库 12.5 unknown命令 12.6 交互式的便利 12.7 tcl外壳的库环境 12.8 编码风格 第13章 映像和调试 13.1 clocl命令 13.2 info命令 13.3 跨平台支持 13.4 跟踪变量数值 13.5 交互命令历史 13.6 调试 13.7 don libes的调试器 13.8 调试tk脚本 13.9 性能调整 第14章 名称空间 14.1 名称空间的用法 14.2 名称空间变量 14.3 命令查找 14.4 嵌套的名称空间 14.5 过程导入 14.6 其他名称空间 14.7 回叫和名称空间 14.8 自检 14.9 namespace命令 14.10 包装现有的程序包 14.11 [incr tcl]对象系统 14.12 注释 第15章 事件驱动编程 15.1 tcl事件循环 15.2 after命令 15.3 fileevent命令 15.4 vwait命令 15.5 fconfigure命令 第16章 stcket编程 16.1 客户socket 16.2 服务器socket 16.3 回显服务 16.4 用http获取url 16.5 http包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值