2008年6月28日
Moving to Beijing in Two Weeks
Not for the Olympic Games, I am leaving Taiwan for China because I've just accepted a job there. The CTO is an old friend of mine. He has been hearing me talking about REBOL for many years. Since REBOL Technologies will support Unicode in REBOL/View soon, there is a good chance that we'll use REBOL in our next product.
2008年6月15日
不使用VID,也可以寫出GUI程式
REBOL有意打造VID(Visual Interface Dialect),成為適合大多數人使用的GUI程式設計方式。從許多Carl的Blog文章中,以及Gabriele(負責實踐與設計VID的人)目前的設計成果,我深切相信這樣的目標確實可以達成。
一方面基於想要「自我挑戰」,另一方面當作學習REBOL 3.0過程的歷練,今年一、二月的時候,我不使用VID,而直接使用GOB和View,寫過數十KB的GUI程式。這樣的經驗讓我體會到:「如果不使用VID,設計GUI會很辛苦」,所以對大多數的人來說,我並不建議這麼做。
但我還是準備自己從頭打造自己的GUI,主要是因為,我希望我的GUI能很動態(dynamic),且支援雙向文字(bi-directional text)。我已經花了相當多時間進行相關的Layout Manager程式編寫與除錯,也獲得一些基本的成果,但是最近因為工作的關係,這件任務可能必須拖延到今年第四季,我才有時間繼續。但是在這之前,我會持續加強我自己的REBOL 3.0程式能力,Prepare for prime time。
一方面基於想要「自我挑戰」,另一方面當作學習REBOL 3.0過程的歷練,今年一、二月的時候,我不使用VID,而直接使用GOB和View,寫過數十KB的GUI程式。這樣的經驗讓我體會到:「如果不使用VID,設計GUI會很辛苦」,所以對大多數的人來說,我並不建議這麼做。
但我還是準備自己從頭打造自己的GUI,主要是因為,我希望我的GUI能很動態(dynamic),且支援雙向文字(bi-directional text)。我已經花了相當多時間進行相關的Layout Manager程式編寫與除錯,也獲得一些基本的成果,但是最近因為工作的關係,這件任務可能必須拖延到今年第四季,我才有時間繼續。但是在這之前,我會持續加強我自己的REBOL 3.0程式能力,Prepare for prime time。
2008年6月11日
My REBOL 3.0 Wishlist
- More text encoders/decoders (Big5, GB2312, ... )
- Unicode text rendering
- Unicode text input from keyboard
- Plug-in ( for calling native C functions )
Because I am developing:
2008年6月8日
The Long Tail ?
我在BlogSpot開了兩個Blog,一個是「JerryLovesRebol.BlogSpot.com」,另一個是「RebolLovesJerry.BlogSpot.com」;前者是「言程序」Blog,內容是主流技術與前瞻技術的心得文章;後者是「Rebol This Rebol That」Blog,內容是和REBOL相關的消息與技術心得。我預期,REBOL是比較冷門的技術,所以雖然成立REBOL文章專屬的Blog,我並不預期會有太多人來看。沒人來閱讀我的REBOL文章是無所謂的,就當成是自己的學習筆記。
但結果令我意外,「言程序」的點擊率居然還沒有「Rebol This Rebol That」高。我分析一下原因,可能是「長尾效應」(Long Tail)。
「言程序」Blog大多數的文章其實已經先發表於台灣的iThome週刊與網站,所以大家不見得要到我的Blog來閱讀,而「言程序」的讀者只限於華人,所以算是區域性的Blog。
但「Rebol This Rebol That」Blog就不同了。這裡的文章並未發表於他處,且對REBOL技術感興趣的人「比例」雖然不高,但是全球累積起來的「數量」仍不少。這就是Long Tail!
除非懂中文,否則大多數的人閱讀「Rebol This Rebol That」Blog的時候,會透過「Google Translate」,先翻譯成英文。看他們這麼克難地閱讀,我有一點想用英文寫Blog。但我終究還是沒這麼做,因為顧慮到「Rebol This Rebol That」有一部份的任務是向華人介紹這個優秀的技術,既然如此,還是用中文寫比較恰當。
希望更多人用各種語言(捷克文、法文…)開闢REBOL blog,讓我們一起為REBOL的Promotion努力。
但結果令我意外,「言程序」的點擊率居然還沒有「Rebol This Rebol That」高。我分析一下原因,可能是「長尾效應」(Long Tail)。
「言程序」Blog大多數的文章其實已經先發表於台灣的iThome週刊與網站,所以大家不見得要到我的Blog來閱讀,而「言程序」的讀者只限於華人,所以算是區域性的Blog。
但「Rebol This Rebol That」Blog就不同了。這裡的文章並未發表於他處,且對REBOL技術感興趣的人「比例」雖然不高,但是全球累積起來的「數量」仍不少。這就是Long Tail!
除非懂中文,否則大多數的人閱讀「Rebol This Rebol That」Blog的時候,會透過「Google Translate」,先翻譯成英文。看他們這麼克難地閱讀,我有一點想用英文寫Blog。但我終究還是沒這麼做,因為顧慮到「Rebol This Rebol That」有一部份的任務是向華人介紹這個優秀的技術,既然如此,還是用中文寫比較恰當。
希望更多人用各種語言(捷克文、法文…)開闢REBOL blog,讓我們一起為REBOL的Promotion努力。
2008年6月4日
我對REBOL 3.0的體會
我注意REBOL 3.0的開發過程,算是種「敏捷開發」(Agile Process),隨時都在進行動態的調整。如果開發者很多的話,這樣的敏捷開發恐怕不可行,一定要按部就班進行。最後的結果可能就是得到一個功能普通、體積肥大、且效能不佳的軟體。
由於REBOL 3.0的核心開發人力是Carl本人,所以他可以隨時動態調整開發項目的優先次序。例如原本Unicode要在3.1才加入,後來提前。這樣的例子屢見不鮮。
Carl在開發的過程,有一些理念上的堅持,那就是REBOL必須「簡單」、「體積小」、「效能」。任何作法只要違反這幾點,都會被排除,不予採納。所以即使REBOL已經開發這麼久了,且圖形和網路的功能都加進來了,還是只有約600K。且執行效率相當好,語法也維持一貫的簡單。
在這個年頭,軟體要保持「簡單」、「體積小」、「效能」,談何容易,但REBOL 3.0做到了。加上強大與創新的功能,這真的是一個好語言。
由於REBOL 3.0的核心開發人力是Carl本人,所以他可以隨時動態調整開發項目的優先次序。例如原本Unicode要在3.1才加入,後來提前。這樣的例子屢見不鮮。
Carl在開發的過程,有一些理念上的堅持,那就是REBOL必須「簡單」、「體積小」、「效能」。任何作法只要違反這幾點,都會被排除,不予採納。所以即使REBOL已經開發這麼久了,且圖形和網路的功能都加進來了,還是只有約600K。且執行效率相當好,語法也維持一貫的簡單。
在這個年頭,軟體要保持「簡單」、「體積小」、「效能」,談何容易,但REBOL 3.0做到了。加上強大與創新的功能,這真的是一個好語言。
2008年6月2日
暫時擱置Transma計畫
想用REBOL 3.0,繼續動手完成我之前的計畫(Transma),無奈REBOL 3.0尚未支援下面的功能:
- 從鍵盤取得Unicode輸入
- 將Unicode文字輸出到GUI
- 呼叫外部DLL
看樣子我只好持續把這個計畫擱置下來。
2008年5月26日
還是要進化
我一直樂於推薦REBOL,許多人因此接觸REBOL之後,反應卻都不太妙。其中有相當大比例的人,對於REBOL的語法感到相當不適應。因此,他們的結論往往是「Jerry的判斷有問題,推銷一個不是很好的東西」,更嚴重的說法是「REBOL是邪魔歪道」。
我只能說,「一個東西的理念領先人家太多,也不見得是好事」,因為大家的程度跟不上,當然也就不識貨。太先進的東西會被原始人當作垃圾。我只好讓他們繼續留在原地當原始人,我先一步進化去了。
我只能說,「一個東西的理念領先人家太多,也不見得是好事」,因為大家的程度跟不上,當然也就不識貨。太先進的東西會被原始人當作垃圾。我只好讓他們繼續留在原地當原始人,我先一步進化去了。
2008年5月25日
Torn between two lovers
I am an F# lecturer in the Taiwan MSDN Forum. Call me a traitor, but I got bills to pay. I like F#, but I love REBOL from the bottom of my heart. I wish I could have a REBOL-related full-time job, so I wouldn't have been switching between REBOL and the others. Seriously.
2008年5月16日
好事多磨
我最近忙工作的事,連幫忙REBOL測試的時間都沒了。本來想要透過DevBase幫忙改寫一些REBOL函數,也因此遲遲未動手。
近年來,REBOL面臨一個嚴重的問題:核心開發人力不足。這使得REBOL具有相當先進的理念,美好的願景,但是卻進展步調緩慢。每次我們看到其他軟體又推出新版本了,裡面有一些不錯的想法,我們不免緊張心急,因為這些想法都是REBOL很早已前都早就想到的,但是人力不足,讓我們眼睜睜看著別人捷足先登。其他公司的產品使用的人力可能是REBOL的數十倍。
真正「有能力」且「有意願」協助REBOL的人已經不多,加上符合條件的人還是得為現實生活的帳單奮鬥,只能提供相當有限的時間協助REBOL開發。大多數的開發還是集中在Carl等少數幾個人身上。這使得他們的Load相當重。背負著大家的期望,壓力也相當大。
如果REBOL能夠Open Source,或許就可以解決開發人力的問題。但是Carl為了打造一個理想中的語言,並不願意這麼做,他認為這會造成語言的分歧。因此他試圖透過一個「半開放源碼」的作法,來維持核心不被更動,但是可以讓其他人幫忙將REBOL輕易地移植到各個平台,並為REBOL加進各種擴充能力。這也是REBOL 3.0的一部份設計理念。
但是在REBOL 3.0正式釋出之前,我們外人能做的不多。我們只能希望,有人能將資金投入REBOL,來增聘一些寫程式高手,早一點將REBOL 3.0做出來。
… 總是好事多磨。
近年來,REBOL面臨一個嚴重的問題:核心開發人力不足。這使得REBOL具有相當先進的理念,美好的願景,但是卻進展步調緩慢。每次我們看到其他軟體又推出新版本了,裡面有一些不錯的想法,我們不免緊張心急,因為這些想法都是REBOL很早已前都早就想到的,但是人力不足,讓我們眼睜睜看著別人捷足先登。其他公司的產品使用的人力可能是REBOL的數十倍。
真正「有能力」且「有意願」協助REBOL的人已經不多,加上符合條件的人還是得為現實生活的帳單奮鬥,只能提供相當有限的時間協助REBOL開發。大多數的開發還是集中在Carl等少數幾個人身上。這使得他們的Load相當重。背負著大家的期望,壓力也相當大。
如果REBOL能夠Open Source,或許就可以解決開發人力的問題。但是Carl為了打造一個理想中的語言,並不願意這麼做,他認為這會造成語言的分歧。因此他試圖透過一個「半開放源碼」的作法,來維持核心不被更動,但是可以讓其他人幫忙將REBOL輕易地移植到各個平台,並為REBOL加進各種擴充能力。這也是REBOL 3.0的一部份設計理念。
但是在REBOL 3.0正式釋出之前,我們外人能做的不多。我們只能希望,有人能將資金投入REBOL,來增聘一些寫程式高手,早一點將REBOL 3.0做出來。
… 總是好事多磨。
訂閱:
文章 (Atom)