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