选择Tcl的十大理由-----转载自Tcl/Tk中文网

mmxxt 2003-07-29 06:25:03
选择Tcl的十大理由

---------------------------------------
转载自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网站上免费的得到,你可以对其代码进行修改以满足自己的需要或者将它用于商业用途。
...全文
517 30 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
acuter 2004-02-20
  • 打赏
  • 举报
回复
顶。
tishineq 2004-02-17
  • 打赏
  • 举报
回复
up
eloelo 2003-12-26
  • 打赏
  • 举报
回复
up
mmxxt 2003-11-11
  • 打赏
  • 举报
回复
up
Wolf0403 2003-10-30
  • 打赏
  • 举报
回复
脚本语言都差不多吧。。。除了 Python 那个怪胎^_^
Perl/TK 应该和 Tcl/TK 差不多的
nemo2050 2003-10-21
  • 打赏
  • 举报
回复
呵呵呵。。。UP
eloelo 2003-10-13
  • 打赏
  • 举报
回复
up
zhoutb1983 2003-10-09
  • 打赏
  • 举报
回复
不知速度怎样???
mmxxt 2003-10-09
  • 打赏
  • 举报
回复
坦率的讲,脚本语言的速度比不上编译语言,但是脚本语言的开发效率很高。
tcl本身和它的许多扩展包是用c写的,在当前的硬件条件下,它的速度已不再是问题。
mmxxt 2003-09-30
  • 打赏
  • 举报
回复
up
mmxxt 2003-09-29
  • 打赏
  • 举报
回复
up
eloelo 2003-09-27
  • 打赏
  • 举报
回复
up
eloelo 2003-09-22
  • 打赏
  • 举报
回复
up
嵌入式电子 2003-09-20
  • 打赏
  • 举报
回复
ding!!
mmxxt 2003-09-20
  • 打赏
  • 举报
回复
up
eloelo 2003-09-18
  • 打赏
  • 举报
回复
up
mmxxt 2003-09-17
  • 打赏
  • 举报
回复
up
haoler 2003-09-16
  • 打赏
  • 举报
回复
我在亚信,呵呵,电信级的软件中大量应用了tcl。

俄罗斯有个小伙子,写了个tcl集成编辑器,我跟他联系了几次,给他改了几个bug。好久没有联系了,不知有无升级。 :)
mmxxt 2003-09-10
  • 打赏
  • 举报
回复
up
mmxxt 2003-09-09
  • 打赏
  • 举报
回复
up
加载更多回复(10)
VTK用户指南 版本4.0 William J. Schroeder 1998-2000 第一部分 VTK 介绍 第1章 欢迎 机构-----------------------------------------------------------------------------------------------8 怎样使用VTK----------------------------------------------------------------------------------8 附加资源-----------------------------------------------------------------------------------------8 第2章 安装 2.1 概述-----------------------------------------------------------------------------------------------9 2.2 安装VTK到Windows9x/NT/ME/2000/XP------------------------------------------------9 二进制安装-------------------------------------------------------------------------------------9 源代码安装-------------------------------------------------------------------------------------9 2.3 安装VTK到Unix操作系统 源代码安装------------------------------------------------------------------------------------10 运行CMake------------------------------------------------------------------------------------11 编译源代码 建立VTK多平台 安装VTK 第3章 系统概述 3.1 系统设计---------------------------------------------------------------------------------------12 图形模型--------------------------------------------------------------------------------------13 可视化模型-----------------------------------------------------------------------------------15 3.2 创建一个应用---------------------------------------------------------------------------------19 用户方法、对象和命令--------------------------------------------------------------------19 Tcl----------------------------------------------------------------------------------------------19 C++---------------------------------------------------------------------------------------------20 Java Phthon Visual Basic/COM/ActiveX 3.3 在两种语言间转换 第二部分 通过例子学习VTK 第4章 基础 4.1 创建1个简单的模型-------------------------------------------------------------------------24 程序化源对象---------------------------------------------------------------------------------24 读取源对象------------------------------------------------------------------------------------26 4.2 使用VTK交互器-----------------------------------------------------------------------------27 vtk绘制窗口交互器 交互风格 4.3 滤波数据---------------------------------------------------------------------------------------29 4.4 控制相机---------------------------------------------------------------------------------------30 安装相机 简单操作方法 控制视角方向 透视与正交视 保存与恢复相机状态 4.5 控制光线---------------------------------------------------------------------------------------32 位置光 4.6 控制3D道具-----------------------------------------------------------------------------------32 指定vtk道具3D位置 演员 演员的详细级 装配 体 vtk装载3D道具 4.7 作用纹理---------------------------------------------------------------------------------------37 4.8 拾取---------------------------------------------------------------------------------------------38 vtk装配路线 例子 4.9 vtk坐标和坐标系---------------------------------------------------------------------------40 4.10 控制vtk演员2D----------------------------------------------------------------------------41 4.11 注释--------------------------------------------------------------------------------------------41 2D注释 3D注释和vtk跟踪 4.12 特殊绘图类-----------------------------------------------------------------------------------44 尺度棒 X-Y绘制 边界盒轴 标记数据 4.13 变换数据--------------------------------------------------------------------------------------48 高级变换 第5章 可视化技术 5.1 可视化VTK数据集vtkDataSet(和子类) -------------------------------------------------50 使用数据属性进行工作 颜色映射 轮廓化 浮雕化 流线图 流线表面 剪裁 融合数据 附加数据 用另外一个尺度给等值面赋颜色 抽取单元格子集 抽取单元格作为多边形数据 5.2 可视化多边形数据---------------------------------------------------------------------------67 手工产生多边形数据 产生表面当量 十比一抽取 平滑网格 粘贴数据 产生纹理坐标 5.3 可视化结构网格-----------------------------------------------------------------------------74 手工产生结构化网格 抽取计算平面 结构网格子样化 5.4 可视化直线网格-----------------------------------------------------------------------------76 手工产生VTK直线网格 抽取计算平面 5.5 可视化非结构网格--------------------------------------------------------------------------77 手工产生VTK非结构网格 抽取部分网格 非结构网格轮廓化 第6章 可视化图像和体数据 6.1 VTK结构化点的历史表示-----------------------------------------------------------------80 6.2 手工产生VTK图像数据-------------------------------------------------------------------80 6.3 抽取图像数据子样--------------------------------------------------------------------------81 6.4 基于尺度值的弯曲--------------------------------------------------------------------------83 6.5 图像显示--------------------------------------------------------------------------------------83 图像观察者 图像演员 6.6 图像源-----------------------------------------------------------------------------------------85 2D帆布图像源 3D椭圆体图像源 高斯图像源 网格图像源 噪声图像源 正弦曲线源 6.7 图像处理--------------------------------------------------------------------------------------88 梯度化 高斯平滑 直方图 图像逻辑 重新切片 6.8 体绘制-----------------------------------------------------------------------------------------92 一个简单的例子 为什么会有多种体绘制技术? 产生一个VTK体 使用片层化函数 使用颜色变换函数 在一个体属性中控制颜色和透明度 在一个体属性中控制阴影 产生一个体映射 裁剪一个体 粘贴一个体 对一个体应用3D纹理 控制标准编码 体素光线计算 2D纹理映射 VolumePro绘制硬件 速度和精确度交替使用 使用vtkLODProp3D改善性能 可行性/局限性技术 第7章 建立模型 7.1 隐模型----------------------------------------------------------------------------------------114 定义隐函数 对隐函数进行抽样 7.2 挤压-------------------------------------------------------------------------------------------117 7.3 构建表面-------------------------------------------------------------------------------------119 Delaunay三角形化 高斯油彩 无组织点产生表面 第三部分 VTK研发者指南 第8章 数据接口和其他 8.1 读入器----------------------------------------------------------------------------------------130 多边形数据读入器 图像和体素读入器 数据集读入器 结构化网格读入器 线性网格读入器 非结构化网格读入器 8.2 写入器----------------------------------------------------------------------------------------131 多边形数据读入器 图像和体素读入器 结构化网格读入器 线性网格读入器 非结构化网格读入器 8.3 输入者----------------------------------------------------------------------------------------132 8.4 输出者----------------------------------------------------------------------------------------132 8.5 创建硬拷贝----------------------------------------------------------------------------------132 保存图像 保存大(高分辨率)图像 8.6 产生动画(使用样条) -----------------------------------------------------------------------134 8.7 使用现场数据工作--------------------------------------------------------------------------136 第9章 贡献编码 9.1 编码补偿--------------------------------------------------------------------------------------141 为VTK贡献编码的条件 编码风格 如何贡献编码 9.2 标准方法: 创建和消除对象---------------------------------------------------------------142 9.3 拷贝对象和受保护的方法------------------------------------------------------------------143 9.4 写一个VTK类: 综述-----------------------------------------------------------------------144 找到一个相似类 识别一个超类 单个类Per.h 文件 必需的方法 文档编码 使用SetGet宏 向VTK中添加类 9.5 对象工厂--------------------------------------------------------------------------------------145 综述 如何写一个工厂 如何安装一个工厂 例子工厂 第10章 流水线执行管理 10.1 执行过程--------------------------------------------------------------------------------------151 概述和术语 更新信息通道 传播更新扩展通道 触发异步更新通道 更新数据通道 10.2 使用流---------------------------------------------------------------------------------------162 第11章 VTK数据对象接口 11.1 数据组---------------------------------------------------------------------------------------166 方法 11.2 数据集---------------------------------------------------------------------------------------169 11.3 VTK数据集接口---------------------------------------------------------------------------170 方法 例子 11.4 VTK图像数据接口-----------------------------------------------------------------------174 方法 例子 11.5 VTK点集接口-----------------------------------------------------------------------------176 方法 例子 11.6 VTK结构化网格接口---------------------------------------------------------------------178 方法 例子 11.7 VTK线性网格接口-----------------------------------------------------------------------178 方法 例子 11.8 VTK多边形数据接口---------------------------------------------------------------------179 方法 例子 11.9 VTK非结构化网格接口-----------------------------------------------------------------184 方法 例子 11.10 单元格接口(VTK单元格子类) ------------------------------------------------------185 11.11 其他接口----------------------------------------------------------------------------------187 点 单元格数组 单元格类型 单元格连接 11.12 现场和属性数据接口------------------------------------------------------------------193 现场数据方法 数据集属性方法 第12章 如何写一个过程方法 12.1 概述----------------------------------------------------------------------------------------196 永远不要修改输入数据 参考计数数据 使用Debug宏 回收/删除截入的内在 修改时间 过程事件和异常终止执行 12.2 如何写一个绘图过滤器---------------------------------------------------------------199 概述 简单过滤器 复杂过滤器和流水线执行 抽取绘图过滤器 程序过滤器 重载流水执行方法 12.3 如何写一个图像过滤器---------------------------------------------------------------210 实现一个图像过滤器 第13章 用窗口系统集成 13.1 绘制窗口交互风格--------------------------------------------------------------------------216 13.2 GUI交互的总指导线------------------------------------------------------------------------217 13.3 X Window, Xt, and Motif--------------------------------------------------------------------221 13.4 MS Windows/Microsoft Foundation Classes---------------------------------------------226 13.5 Tcl/Tk-------------------------------------------------------------------------------------------227 13.6 Java 第14章 编码资源 14.1 对象图表--------------------------------------------------------------------------------------230 基础 单元格 数据集 流水线 源 过滤器 映射器 图形 体绘制 成像 OpenGL绘制器 拾取 变换塔形结构 14.2 过滤器总结-----------------------------------------------------------------------------------237 可视化过滤器 映射者对象 演员对象 14.3 VTK文件格式--------------------------------------------------------------------------------244 二进制文件 数据集属性格式 例子 第15章 光盘 15.1 源代码 15.2 例子代码 15.3 Window 9x/NT/ME/2000/XP 预编译二进制 15.4 数据 15.5 文档 15.6 退化测试图像 15.7 Kitware 应用

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧