rosial

lost memory
数据加载中……

《爪哇夜未眠》- REBOL篇 - REBOL是什么?

BASIC 是我的初恋,当时我才小学五年级,懵懵懂懂,就这么发生了关系。然后我交往过 Clipper C x86 Asm C++ ,直到我认识 Java 之后,才定了下来,并且“以身相许”。恩爱的日子,随着时间淡去而逐渐乏味,我和 Java 没熬过七年之痒。其间我曾经出轨,喜欢过 Python ,但是这段时间太短,差不多只能算是一夜情。现在, C# 被许配给我,但造化弄人,我心中真正喜欢的却是 REBOL !白天我和 C# 在一起,晚上我私会 REBOL

我为什么喜欢 REBOL ,因为她独特、单纯、娇小、善解人意还精通多种方言。我想要完成的事,她总是很快就帮我达成。与她在一起,每每让我体验到前所未有的愉悦快感。我祈求上天,不要让她离开我。我唯一的希望是,她能早一点学会中文,更快融入我们的社会。

REBOL 是一个编程语言( programming language )。由于 REBOL 程序执行时,需要解释器( interpreter ),所以 REBOL 可以被视为是一种脚本语言( scripting language )。利用 REBOL 写出来的程序( program ),也称为脚本( script )。【注】

【注】 REBOL 脚本的扩展名,通常是“ .r ”。

REBOL 第一版诞生于 1997 年,当时支持三个操作系统。现在是 2004 年, REBOL 已经推出 2.5.x 版,支持 43 CPU+OS 平台( platform ),且具备 GUI 、数据库存取等功能。 REBOL 不是玩具语言, REBOL 已经具备项目开发( project development )的能力。 REBOL 也推出一个轻量级的( light-weighted )操作平台,名为 IOS Internet Operating System ,网络操作系统)。

历史

REBOL 语言的设计者是 Carl Sassenrath ,你可以在下列的网址看到他的详细自传: http://www.rebol.com/bio-carl.html Carl Sassenrath 任职过 HP Apple 等公司,他也是 Amiga OS 的设计者。 Amiga OS 八十 年代 1985 最早出现的 PC 多任务( multi-tasking )操作系统。

Carl Sassenrath 学习过数十种编程语言,也开发过许多语言的编译器( compiler )或解释器。这样的经验,使得他想要创造出一个与众不同的语言,而 REBOL 正是这样的产物。他也为此在 1996 年创立了一家公司“ REBOL Technologies ”,成为这家公司的 CTO 与总裁。 REBOL Technologies 的网址是:

http://www.rebol.com/

Get The Message® REBOL Technologies 公司的企业口号 slogan ), 他们甚至将此口号申请为注册商标 可见 messaging (消 息传送 对于 REBOL 语言来说 是一个多么重要的概念。 REBOL Technologies 公司认为, REBOL 是一种消息传送语言( messaging language ),可以用来作为程序和程序、人和人、人和程序之间的沟通桥梁。

架构

刚刚也提到,利用 REBOL 语言写出来的程序,称为 REBOL script ,必须通过 REBOL 解释器才能执行。 REBOL Technologies 公司已经为 REBOL/Core 设计了许多平台的解释器,可以在下面的网址免费取得:

http://www.rebol.com/platforms.shtml

有了这些解释器, REBOL script 可以在许多不同的平台上执行。如图 1 所示。

除了不同平台的 REBOL 解释器之外,还有不同功能的 REBOL 解释器。目前常见的 REBOL 解释器的版本有 REBOL/Core REBOL/View REBOL/View/Pro REBOL/Command REBOL/Command/View 。每个版本的功能都不一样,如图 2 所示。

2 只是一个很简略的功能比较图。除了这里所列出的五个解释器之外,还有一个名为 REBOL/Link 的产品,必须搭配 IOS 使用。另外,在 REBOL/SDK 产品中,还有一些特殊的解释器(例如: REBOL/Base REBOL/Face )。


有了 REBOL 解释器, REBOL script 可以在不同的平台上执行

随着功能不同, REBOL 解释器分成五种

优缺点

REBOL 具有下列的优点:

1. 跨平台: REBOL 跨越的平台不会比 Java 少,请看此网址:
      
http://www.rebol.com/platforms.shtml

2. 简单好学: REBOL 比起 Perl C# Java 等目前流行的语言更容易学习。

3. 易用好写:许多人(包括我自己)发现, REBOL 写出来的程序,长度只有 Java 的五分之一左右,大幅地提高生产力( productivity )。

4. 内建许多 Internet 通信协议( protocol ):包括 TCP UDP POP FTP HTTP 等十多个通讯协议,这使得处理网络的工作变得相当简单。

5. 免费: REBOL/Core REBOL/View 是免费的。

6. 核心很小: 200+ KB ,比起 Java 的数十 MB REBOL 小了 100 倍。

7. 效率高: REBOL 虽然是解释型语言,但是执行效率相当不错,这一点也让我很惊讶。

8. 安全( security ): REBOL 解释器内建安全管理器。

9. 适合写 server 程序: REBOL 本来就相当适合处理 Internet 和文字,又能进行数据库存取,可以利用 CGI Fast-CGI 来开发 Web 应用。

10. 适合写 client 程序: REBOL/View 可以用来开发 GUI 程序,而且 VID 方言使得 GUI 程序相当容易开发。

REBOL 为我带来的最大好处就是,节省时间,提高生产力。利用 REBOL ,我可以更快完成一些程序。一样的程序,如果改用 Java 来写,通常需要花费数倍的时间。使用 REBOL 所提升的生产力,有一点不可思议。

但是 REBOL 并不完美,我觉得目前 REBOL 有以下的缺点:

1. GUI 组件( component )尚未齐备,欠缺一些组件(例如: REBOL 没有 menu tree ),欠缺常用对话框(例如打开文件、选择颜色),且未具备操作系统 GUI 组件的外观( look-and-feel )。

2. GUI 绘图功能相当阳春,例如:不支持粗线、贝兹曲线( Bezier )等。

3. 不支持中文。 REBOL 的核心仍是单字节( single-byte ),而不是双字节( double-byte )。因为 REBOL 不支持 Unicode ,所以在 REBOL/Core 中处理中文变得很麻烦,甚至在 REBOL/View 中,任何中文字一律变成乱码,无法正确显示出来。

4. 欠缺 Web server 模块,目前只能使用 CGI Fast CGI 来写 Web 应用。 REBOL Technologies 公司一直未推出 REBOL/Apache

5. 相当欠缺文件。文件过时( out of date )与欠缺的问题,相当严重。这对于推广 REBOL 相当不利。

其中第一点和第二点( GUI ),在 REBOL/View 1.3 中应该会有很大的改进(目前 REBOL/View 的版本是 1.2.x )。我认为 REBOL/View 1.3 应该在 2004 年会推出。而关于第三点( Unicode ),最近 REBOL Technologies 公司给我的答案是,在 REBOL/View 1.3 推出之后,可能会开始进行 REBOL 核心的改写,以支持 Unicode 。我希望华人的读者,也能向他们施加压力,以促使他们加速支持 Unicode 。对 REBOL 公司有任何建议,到可以利用下面的网页发表意见:

http://www.rebol.com/feedback.html

 

发表日期: Feb. 1, 2004

posted on 2006-07-10 13:19 rosial 阅读(567) 评论(0)  编辑  收藏 所属分类: 蔡学镛


只有注册用户登录后才能发表评论。


网站导航: