文/李延華 (記者) 2007-11-23

業界稱為「Delphi之神」的李維,在歷經Borland宣布出售開發工具部門的變革之後,現在大中華區技術總監的身份沒變,只是轉任Borland子公司CodeGear的員工,回顧當初Borland評估IDE已成衰退市場的判斷,他認為:「Borland忽略了開放源碼的興起,PHP和RoR已開創一片藍海。」從舊有IDE的使用率來看,Delphi、VB、Java及C++確實是下滑的,但新興語言的興起,造就了全新的機會。

其中RoR(Ruby on Rails)是李維最看好的語言,他認為RoR將改寫軟體開發對於「再利用(Reuse)」的定義,提升到應用程式層級,並預估RoR將在今年走入企業應用。

問:RoR是開放源碼的技術,在缺乏有力的公司主導的情況下,如何在臺灣推動相關應用?
答:這個趨勢我稱為草莽式的螞蟻雄兵,不論Java、Delphi或.NET,它們都是由微軟、昇陽或Borland等大公司由上而下的推動,可是開放源碼的興起是由下而上的力量,特別是當很多人發覺以Java開發跨平臺的解決方案,失敗率太高、太複雜時,會開始思考其他較簡單的技術。

Ruby是這幾年成長最快速的語言,而在IT業界我們可以看到的一股潮流,是RoR將在今年到明年之間開始進入企業應用領域。

問:你為什麼如此看好RoR,它有什麼特別之處?
答:RoR開啟了新的契機,軟體開發不僅是程式碼或平臺的再利用,應用程式也可再利用,可以節省很多時間。

我們寫程式那麼多年,會發覺程式需要管理,所以會有子系統或程序等出現,進入團隊就會有類別庫(Class Library)或平臺(Framework),以方便再利用。但是做10個專案,往往能夠再利用的都是語言、平臺或函式庫。

其實很多應用程式可以再利用的,例如登入機制,這是每個系統都需要的功能,但為什麼要各寫一套呢?

在RoR我看到它有應用層級的再利用能力,因為RoR只有一個平臺,叫做Rails。Rails因為使用MVC架構,所以是非常有紀律(Decipline)、有系統且有管理的平臺。

問:為什麼別的語言無法做到應用層級的再利用,而RoR就可以?
答:因為RoR就只有Ruby語言和Rails平臺,而且固定這種架構。RoR的應用程式,有固定的目錄,每個資料夾存放什麼是固定的,而且它使用MVC模式,所以利用RoR開發一個登入的功能,下一個系統可以延用。

其他的語言之所以無法做到,是因為沒有統一的平臺。為什麼Delphi不行?因為每個人可以用不同的元件、平臺和目錄結構,所以只能封裝成DLL或元件才有可能再利用。

為什麼Java不行?因為可以選擇JSP、Spring、Struts或JSF……等平臺,然而用Spring平臺開發的登入機制,Struts無法使用。

再舉一個例子,Delphi如果要匯入Visual Studio的專案,必須特別為這個用途開發一個Plug-in,因為Visual Studio有專屬的專案格式與目錄。但對RoR而言,根本不必在意這個問題,因為RoR有固定的目錄結構,只要複製目錄就可以匯入使用。而且RoR的生產力真的很高,我現在幾乎每天都在用,這比起Java,實在舒服太多了。

問:RoR可以進入企業的應用嗎?
答:Java可以,RoR為什麼不行?它的效能並不差。

至於語言的嚴謹程度,由於它是腳本語言(Script Language)起家,所以語法比較沒那麼嚴謹,而Java和C++都是學術單位起家,所以比較嚴謹,但是軟體開發不是從事研究工作,嚴謹度方面,只要模糊性不會太高就還好。

企業擔心RoR是開放源碼,其次懷疑它能否支撐大型的開發。其實RoR在國外已經非常流行,德國的大學已經把RoR放入教學課程,所以RoR在今年是非常有機會進入企業及學術領域。

問:PHP和RoR的開發者喜歡純手工打造的成就感,會不會擔心3rdRail叫好不叫座?
答:試想一下RoR進入企業,可能接受以記事本或UltraEdit隨性編輯與儲存的開發方式嗎?企業除了重視效能和延展性外,最重要的就是紀律,所以會需要一套IDE幫助專案的管理。

3rdRail不是要針對享受命令列或Script的開發者。當RoR進入企業級應用,會需要開發工具結合版本控管、管理機制、專案管理等,3rdRail可以結合版本控管機制。此外3rdRail不光是一個編輯器,它提供除錯和專案管理機制等,都是企業級應用需要的。

目前3rdRail只是針對單一開發者或小型的開發團隊,接下來會推出企業版,提供例如版本控管和團隊管理等更多企業級應用需要的功能。
文⊙李延華

jck11 發表在 痞客邦 PIXNET 留言(0) 人氣()