成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對Ruby VS Java誤區的深度剖析

開發 后端
本文的靈感源自Halloway開發的一個從零起步、沒有先前約束的Ruby項目轉回一個成熟完備的Java項目后的心得體會。

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

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

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

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

  誤區之二:Ruby的某某特性使得代碼難以維護

  針對這個認識誤區,Halloway的結論是:如果使用得當,Ruby的語言特性會使用其編寫的代碼更加易于維護。對于“易于維護的代碼”的概念,他給出以下定義:

  1. 理解應用程序或者模塊的總體設計思路

  2. 找到你所需要的代碼

  3. 閱讀代碼

  4. 對代碼進行變更

  5. 檢查變更是否正常運行

  下面是兩種語言的優勢對比:

  理解應用程序或者模塊的總體設計思路:無一勝出

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

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

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

  閱讀代碼:Ruby勝出

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

  對代碼進行變更:Ruby勝出

  結論:在動態語言中進行代碼變更更為容易。

  檢查變更是否正常運行:不相伯仲

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

  誤區之三:Ruby太難了

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

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

  誤區之四:要抄襲Rails的創意很容易

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

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

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

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

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

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

【編輯推薦】

  1. 高手Java核心技術學習筆記
  2. 如何使用 JavaScript XSLT 處理 XML 文件
  3. JSP結合XML+XSLT將輸出轉換HTML
  4. Java通過JNI調用C語言的方法
  5. JAVA環境變量的設置
責任編輯:王觀 來源: 天極網
相關推薦

2011-05-07 14:45:37

復印機

2010-08-12 11:12:27

Flex誤區

2009-12-01 14:04:17

VS2003 SP

2010-01-06 10:42:18

JSON協議

2009-12-09 16:52:51

VS 2003插件

2009-07-30 18:04:25

BSM誤區

2009-04-30 09:15:25

Windows Emb

2019-02-25 22:57:22

數據工程師數據科學機器學習

2009-12-15 10:04:46

VS 2008環境變量

2012-05-17 08:29:54

PhoneGap誤區

2009-12-16 10:41:37

Ruby隨機存取文件

2009-12-16 16:51:05

Ruby on Rai

2022-09-27 18:56:28

ArrayList數組源代碼

2025-06-04 08:30:00

seata分布式事務開發

2024-02-05 19:06:04

DartVMGC流程

2017-02-24 19:08:48

PythonPHPRuby

2009-12-14 17:14:08

Ruby文件操作

2012-02-08 10:37:42

Java反射

2022-05-12 08:32:25

JavaArthas阿爾薩斯

2010-08-11 10:32:00

AdobeFlex
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩精品中文字幕 | 国户精品久久久久久久久久久不卡 | jav成人av免费播放 | 麻豆毛片 | 免费中文字幕 | www久久久 | 国产偷久久一级精品60部 | 综合婷婷 | 欧美成人高清 | 91久久国产精品 | 一区二区精品 | 欧美精品国产精品 | 成人av一区二区在线观看 | 在线视频一区二区 | 午夜视频在线免费观看 | 福利社午夜影院 | 久久精品国产亚洲一区二区 | 精品一区二区三区四区视频 | 欧美在线观看免费观看视频 | 99精品久久久久久久 | 久久久噜噜噜久久中文字幕色伊伊 | 51ⅴ精品国产91久久久久久 | 色伊人久久 | 成在线人视频免费视频 | 99re视频在线观看 | 在线免费观看色 | 最新中文字幕久久 | 国产亚洲一区二区在线观看 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 免费看黄色国产 | 久久99精品久久久水蜜桃 | 国产精品久久久久久久午夜片 | 人成在线视频 | 欧美电影大全 | 欧美激情一区 | 国产精品.xx视频.xxtv | 婷婷色国产偷v国产偷v小说 | 中文字幕日韩欧美 | 国产精品一区二区在线 | 国产精品一区一区三区 | 精品国产一区二区三区日日嗨 |