2.2.4. Tcl
Tcl 具有最简单的语法,最好的和其他程序交互的能力,有编写图形界面程
序的 Tk。基本上已经没有个人用户学习 Tcl 语言,但是中国一些大型的嵌入式
软件公司至今一直使用该语言进行软件测试工作,而且 Tcl 的工具包 Tk 也是很
多 Scripting Language 的 GUI 工具。
2.2.5. Ruby
Ruby 是吸取了所有语言精华的语言。Ruby 虽然是纯面向对象语言,但可
以”扮成”程序式的程序语言;它的文件主要都是日文和英文。Ruby 有:
* Perl 的正则表达式
* Python 的语言的简单性可读性、最容易的扩展能力,强大的可移植性。
* PHP 的嵌入功能和多种客户端
* smalltalk 的纯面向对象语法和单继承
* Lisp 的无穷嵌套的语法,也就是函数式的语法。
* 用“块”来实现更快捷的数据结构的处理。不知道是不是 sCheme 的宏功能。
用块能更清楚的实现 Python 的表处理功能。
* Java 和 Ada 的线程编程
* Java 的安全编程
不得不承认 Ruby 确实是个精彩的语言,它完全学会了 Lisp 的所有编程都
是函数的思想,smalltalk 的所有东西都是对象的思想,Perl 的一个目的多种手
段的方法,Python 的简单化的“最少惊喜”的原则,Java 的多线程和安全控制的
功能,Tcl 的容易扩展的功能,PHP 的嵌入功能和强大客户端的功能,最方便的
shell 命令的调用。
2.2.6. Lua
Lua 是一个小巧强大的脚本语言。第一眼看到 Lua 的介绍,感觉它象 Tcl 的
替代品,因为它的主要目的是作为脚本语言。但接下来就看到它不是象 Tcl 那
样是命令行式的函数语言,它和其它语言一样有语句结构。它实现和 C 程序互
动的方式和 Python 类似,具有和 Python 一样的和 C 结合的能力。并且 Lua 全部
是用 ansi C 实现的,可以实现完全的跨平台。
然后,看到 Lua 的一个显着的特点就是具有对象数据库功能,可以实现变
量的永恒存储。这个特点让人首先联想到 fish,fish 的最重要的特点也是语言内
含一个对象数据库,不过 fish 有 outline 的可视界面,和数据库浏览能力。但
fish 不是开源的,因此,如果需要一个非内存的变量存储空间可以选择 Lua。这
种对象数据库都是不但能存储数据,也能存储操作数据的函数。实际 Python 也
具有一个将整个内存存储在一个磁盘文件的功能,另外,还有 zope 的 zodb 可
以实现专业的永恒变量功能。另外,sCheme 天然具有永恒存储能力,它只要把
表变量输出到一个文件中就可以了。因为 sCheme 是不分数据和程序的,因此
可以实现将程序和数据同样存储在文件中。
Lua 和 Python 相比规模比较小,因为它是和 C 紧密结合的,可以完全使用
各种 C 库,就不需要有自己的库。Lua 给人的印象是小规模的 Python。Lua 也是
动态数据类型,也有内存管理功能。只是 Python 自带强大的库,而 Lua 只携带