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
)。
图
1
有了
REBOL
解释器,
REBOL script
可以在不同的平台上执行
图
2
随着功能不同,
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