日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
對Ruby VS Java誤區(qū)的深度剖析

Relevance咨詢公司的Stuart Halloway最近編寫了一個關(guān)于“Ruby vs. Java之怪談”的系列博客文章。這個系列文章的靈感,源自他最近從一個從零起步、沒有先前約束的Ruby項目轉(zhuǎn)回一個成熟完備的Java項目后的心得體會。在這個歷時多日的項目過程中,Halloway對以下幾個“誤區(qū)”進(jìn)行了探索:

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供天橋網(wǎng)站建設(shè)、天橋做網(wǎng)站、天橋網(wǎng)站設(shè)計、天橋網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、天橋企業(yè)網(wǎng)站模板建站服務(wù),十多年天橋做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

誤區(qū)之一:Ruby適合小型項目,而Java更適用于大型的、復(fù)雜的項目。

概括起來,Halloway主張,對于小型項目來說,諸如未知因素一類的問題可能會使進(jìn)度表大幅度改動,而如果找到一個成熟完善的代碼庫則可以使得開發(fā)人員幾乎不用編寫多少代碼。在 Java方面,這些因素是很大的一個優(yōu)勢,因為它背后有一個成熟強(qiáng)大的社區(qū)和一群非常有經(jīng)驗的開發(fā)人員所支持。對于大型項目,Halloway則稱,諸如語言的生產(chǎn)效率之類的因素會比代碼庫更為緊要,這也把天平上優(yōu)勢的砝碼放在了Ruby一端。他指出,目前事實(shí)已經(jīng)發(fā)生逆轉(zhuǎn),并解釋說:

以下是引用片段:
當(dāng)前Ruby異常適合的一種小型項目是:由數(shù)據(jù)庫所支撐的Web應(yīng)用,因為Ruby on Rails抵消掉了所有Ruby在小型項目方面的不利因素。

誤區(qū)之二:Ruby的某某特性使得代碼難以維護(hù)

針對這個認(rèn)識誤區(qū),Halloway的結(jié)論是:如果使用得當(dāng),Ruby的語言特性會使用其編寫的代碼更加易于維護(hù)。對于“易于維護(hù)的代碼”的概念,他給出以下定義:

1. 理解應(yīng)用程序或者模塊的總體設(shè)計思路

2. 找到你所需要的代碼

3. 閱讀代碼

4. 對代碼進(jìn)行變更

5. 檢查變更是否正常運(yùn)行

下面是兩種語言的優(yōu)勢對比:

理解應(yīng)用程序或者模塊的總體設(shè)計思路:無一勝出

以下是引用片段:
[...]我的經(jīng)驗表明,在這個方面沒有哪個語言能幫上很多忙,但良好的抽象概念會有所幫助。Java和Ruby包含很多相同的抽象概念:實(shí)現(xiàn)繼承、類、多態(tài)和封裝等等。

查看你所需要的代碼:Java勝出

由于IDE的有效支持,Java在這個方面勝出。

閱讀代碼:Ruby勝出

結(jié)論:Ruby代碼更容易保持DRY原則,因此更容易閱讀。

對代碼進(jìn)行變更:Ruby勝出

結(jié)論:在動態(tài)語言中進(jìn)行代碼變更更為容易。

檢查變更是否正常運(yùn)行:不相伯仲

Ruby和Java都提供了對單元測試、驗收測試和持續(xù)集成等方面的良好支持。

誤區(qū)之三:Ruby太難了

有些人,比如Cedric Beust主張說,對于普通開發(fā)人員Ruby的難度太大。Halloway反駁到,總的來說,編程就不是一件容易的事情。盡管有些叢書以“21天學(xué)會編程”的旗號為噱頭,但這是不可能的。因此,使用Java和Ruby編程都不是一件容易的事情。他主張說:

以下是引用片段:
[...]你不能通過限制語言的特性這種方式來降低難度[...]

誤區(qū)之四:要抄襲Rails的創(chuàng)意很容易

Halloway提出,這個誤區(qū)需要慎重看待,因為它說的確實(shí)有一部分是真的。Rails的許多創(chuàng)意是可以被抄襲到其它任何語言上去的。但是,對于這個觀點(diǎn)的反駁也存在:

以下是引用片段:
 [...]另外一些創(chuàng)意則取決于特定的Ruby語言特性。Rails使用了open class,使得我們可以寫出更好的、可讀性更強(qiáng)的對象模型。舉例而言,你可以寫出x.blank?這樣的代碼,而不是這樣:StringUtilities.isBlank(x)。單獨(dú)來說,這樣的區(qū)別并不會產(chǎn)生很大的意義,但是隨著它們積少成多了以后,代碼的可讀性就會得到顯著的提升。[...]

誤區(qū)之五:這是一場沒有贏家的游戲

最后是系列文章的總結(jié)陳詞:作為一門語言,Ruby勝出;但作為一個平臺,Java勝出——

以下是引用片段:
那么,我們所有人難道不能和睦相處么?我多希望在我所生活的世界中,對語言的偏好并不會給一名程序員貼上什么標(biāo)簽。我們可以用Ruby、Scheme、Scala或者Erlang來編寫代碼,而且任何地方的JVM都是我們所可以生存的和諧社會。

為了讓這樣的和諧氛圍得以延續(xù),Halloway對應(yīng)當(dāng)采取的行動給出了以下建議:為JRuby項目貢獻(xiàn)代碼,并在今后的Java應(yīng)用中使用Rake而不是Ant來管理。

【編輯推薦】

  1. 高手Java核心技術(shù)學(xué)習(xí)筆記
  2. 如何使用 JavaScript XSLT 處理 XML 文件
  3. JSP結(jié)合XML+XSLT將輸出轉(zhuǎn)換HTML
  4. Java通過JNI調(diào)用C語言的方法
  5. JAVA環(huán)境變量的設(shè)置

網(wǎng)站欄目:對Ruby VS Java誤區(qū)的深度剖析
轉(zhuǎn)載來于:http://www.5511xx.com/article/ccieojh.html