2008年3月8日

我的REBOL體驗

文 / 蔡學鏞

約26年前,我寫了生平的第一個程式,當時用的語言是BASIC,電腦是台灣仿冒的APPLE II。從那個時候開始,我就斷斷續續地學習程式設計。讀中學時,我最常用的是dBase III+和Clipper。

進入大學後,我主修資訊科學(Computer Science),我覺得課堂上學習的一切知識都相當有趣。我陸續學習了C語言、x86組合語言、C++、Java。

念研究所時,我們用Java開發了一套隨選多媒體系統(Multimedia-on-Demand),並用這套系統參加比賽得到冠軍,這使得我的生活起了變化。我開始應邀為網站和雜誌寫專欄、開Java課、擔任研討會講師,這些工作使得我對於資訊新知越來越重視。我不斷地學習新知識,我說這是「未雨綢繆」。

有一天我在書局看到一本英文版的原文書,名為"REBOL: The Official Guide",好像很有趣的樣子。當時我剛好口袋有閒錢,就買了。後來我發現這本書並不好讀,於是我到REBOL.com網站,找到免費的REBOL使用手冊,於是就開始讀起REBOL使用手冊。一遍又一遍地讀完很多次之後,我大概知道REBOL是什麼了,只是沒有機會使用它。

幾年之後,機會來了。有一天,我的老闆要我寫程式做光碟檔案內容的格式轉換,而且急著當天就要結果。我於是決定不用Java,因為我評估Java會耗掉我至少兩天,根本不符合老闆的要求。我決定使用REBOL試試看。

你猜結果如何?我居然辦到了!

當時我覺得很驚喜,畢竟我可不是什麼REBOL專家,居然可以在對REBOL語言半生不熟的狀況下,寫出程式。而且REBOL開發效率還比我當時最熟悉的Java快。

這樣的經驗實在太美好了,於是我自掏腰包買了最貴的商業版REBOL,我加入REBOL討論區,我向朋友推薦REBOL,我在大學教Web Programming時,把REBOL當作課堂上主軸的語言。我甚至在我的Java書裡面放進REBOL的內容(不過這次就有一點太過份,因為有讀者反應,不瞭解為何會在Java的書內看到REBOL)。

但是REBOL只有支援SBCS字串,不支援DBCS或Unicode,所以在東亞CJK地區幾乎無用武之地。我一直在等REBOL Technologies(RT)公司修正這一點,但是一直都沒有動靜。最後,我乾脆自己來。

花很多時間解決各種問題,後來我做到了,終於可以讓REBOL呈現Unicode。不過我的解決方案還是不理想,問題主要是在效率和字串剖析方面,這些都需要從REBOL核心去處理,不是我能解決的。幸好RT公司決定開始打造3.0版的REBOL,而且要在REBOL 3.0中支援Unicode。

有了Unicode、REBOL/services、Dialecting、Multitasking以及其他的好東西,REBOL 3.0的威力變得相當強大。每次一想到這裡,就覺得很興奮。

這些年的抱怨與等待終告結束,REBOL 3.0已經登場,Let's code。