Java開源沒能阻擋Ruby前進的腳步(1)

發表于:2007-06-11來源:作者:點擊數: 標簽:
帶著這個疑問我們采訪了Java咨詢專家,上海炯耐計算機軟件有限公司總經理, JavaEye技術社區創始人范凱,請他談一下Ruby現在的發展狀況: java script:if(this.width>498)this.style.width=498;' onmousewheel = 'javascript:return big(this)' height=322 al
帶著這個疑問我們采訪了Java咨詢專家,上海炯耐計算機軟件有限公司總經理, JavaEye技術社區創始人范凱,請他談一下Ruby現在的發展狀況:

記者:我知道您是Java企業咨詢專家,自然也是一個Java的狂熱者了,對于Ruby在中國還不是很成熟,而且能借鑒的相關經驗還很少,我想知道您的JavaEye社區,當時出于什么原因考慮用Ruby開發而不用Java呢?

范凱:在目前的主流web開發技術例如J2EE,ASP.net,PHP,Python,Ruby當中,基于Ruby語言的rails框架是做網站開發速度最快的工具了,可以達到J2EE框架開發速度的5-10倍,并且程序代碼量也只有使用J2EE框架開發的1/5以下。因此使用Ruby來開發JavaEye網站,能夠把網站的開發周期縮短5倍左右,也就是說,如果用Java開發JavaEye網站需要5個月時間的話,那么使用Ruby僅僅1個月就夠了(而事實上我們也只用了1個月加1周的時間開發出來網站)。另外由于代碼量的大幅度減少,網站整個的維護工作量也大大降低。因為使用Ruby帶來的開發和維護上面的好處實在是很誘人,能夠幾倍幅度的降低我們的網站開發周期和維護成本,那何樂而不為呢?

目前Ruby在國內應用很稀少,也找不到什么可以借鑒的經驗,我們在開發過程中遇到的各種各樣的問題都是自己摸索過來的。不過對于我們本來就是資深開發人員,又運營高端技術社區來說,這些都不是什么障礙,Ruby無論如何,還是比Java要簡單,只要適合我們,什么技術都可以拿來用,對于高水平的開發人員來說,用什么編程語言都一樣,精通Java的去搞Ruby,完全沒有什么障礙。

記者:有很多人認為Ruby挑戰Java地位,您怎么看待這種現象?

范凱:從目前的狀況來說,Ruby還挑戰不了Java的地位,從可以預見的將來,Ruby也不太會取代Java的地位。這是因為:

1)Java能夠成為應用軟件開發的主流,是有很多因素綜合作用導致的,而且也有一個歷史機遇的問題。當應用軟件開發方式從C/S轉向B/S的時候,Java抓住了歷史機遇,造就了目前全球大多數應用軟件廠商都基于Java開發軟件這樣一個既成事實,Java的整個全球商業價值太高了,優勢太大。并且從Java自身的語法角度來說,也比較適合目前軟件外包產業的大規模分工協作。此外Java并沒有固步自封,在開源社區和商業廠商雙重強力推動下,Java自身仍然在快速的進步,生命力很頑強。

2)Ruby目前只是在web開發領域比Java有很強的開發效率的優勢,但并沒有Java那么齊全的產品線,從基礎軟件到Web應用軟件,從桌面到嵌入式開發,無所不包。

3)Java是主流的工業級別的編程語言,就單個程序員個體的編程效率來說,遠遠不如Ruby,但是很多軟件公司,特別是軟件外包往往是幾十人,上百人大規模團隊協作開發,甚至異地大規模協作,在這種情況下,個體的編程效率并不重要,重要的是團隊之間協作和模塊獨立分割以及組合,Java能夠很好的滿足這種軟件開發模式的要求。但是Ruby很顯然并不適合這種軟件開發模式,Ruby更加適合小規模團隊(一般少于10人),采用敏捷開發方式,高效率的開發軟件。

但是Ruby取代不了Java,并不意味著Ruby就不值得去使用。特別是對于開發團隊規模比較小,對軟件開發速度有比較高要求的情況來說,Ruby肯定是更好的選擇。

記者:因為各位讀者對Ruby了解的很少,也很陌生,能否從技術的角度上給我們介紹一下Ruby有哪優勢和不足?

Ruby的優勢主要有:

1) Ruby是一種動態面向對象語言,具有很多強大的面向對象的高級特性,例如open class(對象的類別可以在程序運行期被動態的改變),duck typing(由對象行為決定對象類型),meta programming(元編程),block和closure(塊和閉包)等等,可以輕松創造出來Java語言很難實現的功能,因此可以極大提高編程效率,減少代碼量。 

2) Ruby更加貼近英語的自然語言,描述和表達能力很好,語法擴展能力很強,因此被用來作為DSL(領域專用語言),例如Ruby的構建工具rake就是一種DSL。而Java則不具備這樣的能力,從而不得不借助使用XML來描述各種配置信息。

3) 基于Ruby語言的rails框架,除了充分利用了Ruby語言強大的語法能力之外,rails框架自身也有很多理念非常領先的創新性技術,例如簡化的ORM框架ActiveRecord,Database Migration,以及支持REST特性的URL Route等等。在這些方面,Java的主流框架在技術創新能力上被遠遠甩到了后面。

4) 除了技術因素之外,基于rails框架來開發web應用,最大的優勢就是開發速度快,一般認為達到使用Java的5-10倍速度,另外代碼量很少,這是Ruby吸引很多開發人員的主要原因 

5) 使用Ruby on rails開發web應用,其入門門檻和學習成本要遠低于使用Java,一個基礎扎實的程序員通過一個月學習就可以熟練使用rails開發,但是學習三個月,都未必能夠熟練運用主流Java框架來開發。


共2頁: 1 [2] 下一頁

原文轉自:http://www.anti-gravitydesign.com

...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97