BASIC
是我的初戀,當(dāng)時(shí)我才小學(xué)五年級(jí),懵懵懂懂,就這么發(fā)生了關(guān)系。然后我交往過
Clipper
、
C
、
x86 Asm
、
C++
,直到我認(rèn)識(shí)
Java
之后,才定了下來,并且“以身相許”。恩愛的日子,隨著時(shí)間淡去而逐漸乏味,我和
Java
沒熬過七年之癢。其間我曾經(jīng)出軌,喜歡過
Python
,但是這段時(shí)間太短,差不多只能算是一夜情。現(xiàn)在,
C#
被許配給我,但造化弄人,我心中真正喜歡的卻是
REBOL
!白天我和
C#
在一起,晚上我私會(huì)
REBOL
。
我為什么喜歡
REBOL
,因?yàn)樗?dú)特、單純、嬌小、善解人意還精通多種方言。我想要完成的事,她總是很快就幫我達(dá)成。與她在一起,每每讓我體驗(yàn)到前所未有的愉悅快感。我祈求上天,不要讓她離開我。我唯一的希望是,她能早一點(diǎn)學(xué)會(huì)中文,更快融入我們的社會(huì)。
REBOL
是一個(gè)編程語言(
programming language
)。由于
REBOL
程序執(zhí)行時(shí),需要解釋器(
interpreter
),所以
REBOL
可以被視為是一種腳本語言(
scripting language
)。利用
REBOL
寫出來的程序(
program
),也稱為腳本(
script
)。【注】
【注】
REBOL
腳本的擴(kuò)展名,通常是“
.r
”。
REBOL
第一版誕生于
1997
年,當(dāng)時(shí)支持三個(gè)操作系統(tǒng)。現(xiàn)在是
2004
年,
REBOL
已經(jīng)推出
2.5.x
版,支持
43
個(gè)
CPU+OS
平臺(tái)(
platform
),且具備
GUI
、數(shù)據(jù)庫存取等功能。
REBOL
不是玩具語言,
REBOL
已經(jīng)具備項(xiàng)目開發(fā)(
project development
)的能力。
REBOL
也推出一個(gè)輕量級(jí)的(
light-weighted
)操作平臺(tái),名為
IOS
(
Internet Operating System
,網(wǎng)絡(luò)操作系統(tǒng))。
歷史
REBOL
語言的設(shè)計(jì)者是
Carl Sassenrath
,你可以在下列的網(wǎng)址看到他的詳細(xì)自傳:
http://www.rebol.com/bio-carl.html
。
Carl Sassenrath
任職過
HP
、
Apple
等公司,他也是
Amiga OS
的設(shè)計(jì)者。
Amiga OS
是
八十
年代
(
1985
年
)
最早出現(xiàn)的
PC
多任務(wù)(
multi-tasking
)操作系統(tǒng)。
Carl Sassenrath
學(xué)習(xí)過數(shù)十種編程語言,也開發(fā)過許多語言的編譯器(
compiler
)或解釋器。這樣的經(jīng)驗(yàn),使得他想要?jiǎng)?chuàng)造出一個(gè)與眾不同的語言,而
REBOL
正是這樣的產(chǎn)物。他也為此在
1996
年創(chuàng)立了一家公司“
REBOL Technologies
”,成為這家公司的
CTO
與總裁。
REBOL Technologies
的網(wǎng)址是:
http://www.rebol.com/
。
“
Get The Message?
”
是
REBOL Technologies
公司的企業(yè)口號(hào)
(
slogan
),
他們甚至將此口號(hào)申請(qǐng)為注冊(cè)商標(biāo)
,
可見
messaging
(消
息傳送
)
對(duì)于
REBOL
語言來說
,
是一個(gè)多么重要的概念。
REBOL Technologies
公司認(rèn)為,
REBOL
是一種消息傳送語言(
messaging language
),可以用來作為程序和程序、人和人、人和程序之間的溝通橋梁。
架構(gòu)
剛剛也提到,利用
REBOL
語言寫出來的程序,稱為
REBOL script
,必須通過
REBOL
解釋器才能執(zhí)行。
REBOL Technologies
公司已經(jīng)為
REBOL/Core
設(shè)計(jì)了許多平臺(tái)的解釋器,可以在下面的網(wǎng)址免費(fèi)取得:
http://www.rebol.com/platforms.shtml
。
有了這些解釋器,
REBOL script
可以在許多不同的平臺(tái)上執(zhí)行。如圖
1
所示。
除了不同平臺(tái)的
REBOL
解釋器之外,還有不同功能的
REBOL
解釋器。目前常見的
REBOL
解釋器的版本有
REBOL/Core
、
REBOL/View
、
REBOL/View/Pro
、
REBOL/Command
、
REBOL/Command/View
。每個(gè)版本的功能都不一樣,如圖
2
所示。
圖
2
只是一個(gè)很簡略的功能比較圖。除了這里所列出的五個(gè)解釋器之外,還有一個(gè)名為
REBOL/Link
的產(chǎn)品,必須搭配
IOS
使用。另外,在
REBOL/SDK
產(chǎn)品中,還有一些特殊的解釋器(例如:
REBOL/Base
、
REBOL/Face
)。
圖
1?
有了
REBOL
解釋器,
REBOL script
可以在不同的平臺(tái)上執(zhí)行
圖
2?
隨著功能不同,
REBOL
解釋器分成五種
優(yōu)缺點(diǎn)
REBOL
具有下列的優(yōu)點(diǎn):
1.
跨平臺(tái):
REBOL
跨越的平臺(tái)不會(huì)比
Java
少,請(qǐng)看此網(wǎng)址:
??????
http://www.rebol.com/platforms.shtml
。
2.
簡單好學(xué):
REBOL
比起
Perl
、
C#
、
Java
等目前流行的語言更容易學(xué)習(xí)。
3.
易用好寫:許多人(包括我自己)發(fā)現(xiàn),
REBOL
寫出來的程序,長度只有
Java
的五分之一左右,大幅地提高生產(chǎn)力(
productivity
)。
4.
內(nèi)建許多
Internet
通信協(xié)議(
protocol
):包括
TCP
、
UDP
、
POP
、
FTP
、
HTTP
等十多個(gè)通訊協(xié)議,這使得處理網(wǎng)絡(luò)的工作變得相當(dāng)簡單。
5.
免費(fèi):
REBOL/Core
與
REBOL/View
是免費(fèi)的。
6.
核心很小:
200+ KB
,比起
Java
的數(shù)十
MB
,
REBOL
小了
100
倍。
7.
效率高:
REBOL
雖然是解釋型語言,但是執(zhí)行效率相當(dāng)不錯(cuò),這一點(diǎn)也讓我很驚訝。
8.
安全(
security
):
REBOL
解釋器內(nèi)建安全管理器。
9.
適合寫
server
程序:
REBOL
本來就相當(dāng)適合處理
Internet
和文字,又能進(jìn)行數(shù)據(jù)庫存取,可以利用
CGI
或
Fast-CGI
來開發(fā)
Web
應(yīng)用。
10.
適合寫
client
程序:
REBOL/View
可以用來開發(fā)
GUI
程序,而且
VID
方言使得
GUI
程序相當(dāng)容易開發(fā)。
REBOL
為我?guī)淼淖畲蠛锰幘褪牵?jié)省時(shí)間,提高生產(chǎn)力。利用
REBOL
,我可以更快完成一些程序。一樣的程序,如果改用
Java
來寫,通常需要花費(fèi)數(shù)倍的時(shí)間。使用
REBOL
所提升的生產(chǎn)力,有一點(diǎn)不可思議。
但是
REBOL
并不完美,我覺得目前
REBOL
有以下的缺點(diǎn):
1. GUI
組件(
component
)尚未齊備,欠缺一些組件(例如:
REBOL
沒有
menu
與
tree
),欠缺常用對(duì)話框(例如打開文件、選擇顏色),且未具備操作系統(tǒng)
GUI
組件的外觀(
look-and-feel
)。
2. GUI
繪圖功能相當(dāng)陽春,例如:不支持粗線、貝茲曲線(
Bezier
)等。
3.
不支持中文。
REBOL
的核心仍是單字節(jié)(
single-byte
),而不是雙字節(jié)(
double-byte
)。因?yàn)?/span>
REBOL
不支持
Unicode
,所以在
REBOL/Core
中處理中文變得很麻煩,甚至在
REBOL/View
中,任何中文字一律變成亂碼,無法正確顯示出來。
4.
欠缺
Web server
模塊,目前只能使用
CGI
和
Fast CGI
來寫
Web
應(yīng)用。
REBOL Technologies
公司一直未推出
REBOL/Apache
。
5.
相當(dāng)欠缺文件。文件過時(shí)(
out of date
)與欠缺的問題,相當(dāng)嚴(yán)重。這對(duì)于推廣
REBOL
相當(dāng)不利。
其中第一點(diǎn)和第二點(diǎn)(
GUI
),在
REBOL/View 1.3
中應(yīng)該會(huì)有很大的改進(jìn)(目前
REBOL/View
的版本是
1.2.x
)。我認(rèn)為
REBOL/View 1.3
應(yīng)該在
2004
年會(huì)推出。而關(guān)于第三點(diǎn)(
Unicode
),最近
REBOL Technologies
公司給我的答案是,在
REBOL/View 1.3
推出之后,可能會(huì)開始進(jìn)行
REBOL
核心的改寫,以支持
Unicode
。我希望華人的讀者,也能向他們施加壓力,以促使他們加速支持
Unicode
。對(duì)
REBOL
公司有任何建議,到可以利用下面的網(wǎng)頁發(fā)表意見:
http://www.rebol.com/feedback.html
。
?
發(fā)表日期:
Feb. 1, 2004