自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ruby語(yǔ)言優(yōu)缺點(diǎn)評(píng)比

開(kāi)發(fā) 開(kāi)發(fā)工具
希望大家可以通過(guò)本文介紹的Ruby語(yǔ)言優(yōu)缺點(diǎn),更進(jìn)一步的掌握Ruby語(yǔ)言的含義,提高自己學(xué)習(xí)Ruby的層次,增加理論知識(shí)。

大家都知道,Ruby作為一種新興的編程語(yǔ)言,具有很多特殊的優(yōu)點(diǎn),使得它迅速成為編程人員的新寵。但是它有沒(méi)有缺點(diǎn)呢。下面就讓我們一起來(lái)看看Ruby語(yǔ)言優(yōu)缺點(diǎn)的相關(guān)介紹。#t#

在目前的主流web開(kāi)發(fā)技術(shù)例如J2EE,ASP.net,PHP,Python,Ruby當(dāng)中,基于Ruby語(yǔ)言的rails框架是做網(wǎng)站開(kāi)發(fā)速度最快的工具了,可以達(dá)到J2EE框架開(kāi)發(fā)速度的5-10倍,并且程序代碼量也只有使用J2EE框架開(kāi)發(fā)的1/5以下。

因此使用Ruby來(lái)開(kāi)發(fā)JavaEye網(wǎng)站,能夠把網(wǎng)站的開(kāi)發(fā)周期縮短5倍左右,也就是說(shuō),如果用Java開(kāi)發(fā)JavaEye網(wǎng)站需要5個(gè)月時(shí)間的話,那么使用Ruby僅僅1個(gè)月就夠了。另外由于代碼量的大幅度減少,網(wǎng)站整個(gè)的維護(hù)工作量也大大降低。因?yàn)槭褂肦uby帶來(lái)的開(kāi)發(fā)和維護(hù)上面的好處實(shí)在是很誘人,能夠幾倍幅度的降低我們的網(wǎng)站開(kāi)發(fā)周期和維護(hù)成本,那何樂(lè)而不為呢?

目前Ruby在國(guó)內(nèi)應(yīng)用很稀少,也找不到什么可以借鑒的經(jīng)驗(yàn).不過(guò)對(duì)于本來(lái)就是資深的開(kāi)發(fā)人員,又運(yùn)營(yíng)高端技術(shù)社區(qū)來(lái)說(shuō),這些都不是什么障礙,Ruby無(wú)論如何,還是比Java要簡(jiǎn)單,只要適合我們,什么技術(shù)都可以拿來(lái)用,對(duì)于高水平的開(kāi)發(fā)人員來(lái)說(shuō),用什么編程語(yǔ)言都一樣,精通Java的去搞Ruby,完全沒(méi)有什么障礙。
從目前的狀況來(lái)說(shuō),Ruby還挑戰(zhàn)不了Java的地位,從可以預(yù)見(jiàn)的將來(lái),Ruby也不太會(huì)取代Java的地位。這是因?yàn)椋?/p>

1) Java能夠成為應(yīng)用軟件開(kāi)發(fā)的主流,是有很多因素綜合作用導(dǎo)致的,而且也有一個(gè)歷史機(jī)遇的問(wèn)題。當(dāng)應(yīng)用軟件開(kāi)發(fā)方式從C/S轉(zhuǎn)向B/S的時(shí)候,Java 抓住了歷史機(jī)遇,造就了目前全球大多數(shù)應(yīng)用軟件廠商都基于Java開(kāi)發(fā)軟件這樣一個(gè)既成事實(shí),Java的整個(gè)全球商業(yè)價(jià)值太高了,優(yōu)勢(shì)太大。并且從 Java自身的語(yǔ)法角度來(lái)說(shuō),也比較適合目前軟件外包產(chǎn)業(yè)的大規(guī)模分工協(xié)作。此外Java并沒(méi)有固步自封,在開(kāi)源社區(qū)和商業(yè)廠商雙重強(qiáng)力推動(dòng)下,Java 自身仍然在快速的進(jìn)步,生命力很頑強(qiáng)。

2)Ruby目前只是在web開(kāi)發(fā)領(lǐng)域比Java有很強(qiáng)的開(kāi)發(fā)效率的優(yōu)勢(shì),但并沒(méi)有Java那么齊全的產(chǎn)品線,從基礎(chǔ)軟件到Web應(yīng)用軟件,從桌面到嵌入式開(kāi)發(fā),無(wú)所不包。

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

但是Ruby取代不了Java,并不意味著Ruby就不值得去使用。特別是對(duì)于開(kāi)發(fā)團(tuán)隊(duì)規(guī)模比較小,對(duì)軟件開(kāi)發(fā)速度有比較高要求的情況來(lái)說(shuō),Ruby肯定是更好的選擇

Ruby語(yǔ)言優(yōu)缺點(diǎn)之Ruby的優(yōu)勢(shì)主要有:

1) Ruby是一種動(dòng)態(tài)面向?qū)ο笳Z(yǔ)言,具有很多強(qiáng)大的面向?qū)ο蟮母呒?jí)特性,例如open class(對(duì)象的類別可以在程序運(yùn)行期被動(dòng)態(tài)的改變),duck typing(由對(duì)象行為決定對(duì)象類型),meta programming(元編程),block和closure(塊和閉包)等等,可以輕松創(chuàng)造出來(lái)Java語(yǔ)言很難實(shí)現(xiàn)的功能,因此可以極大提高編程效率,減少代碼量。

2) Ruby更加貼近英語(yǔ)的自然語(yǔ)言,描述和表達(dá)能力很好,語(yǔ)法擴(kuò)展能力很強(qiáng),因此被用來(lái)作為DSL(領(lǐng)域?qū)S谜Z(yǔ)言),例如Ruby的構(gòu)建工具rake就是一種DSL。而Java則不具備這樣的能力,從而不得不借助使用XML來(lái)描述各種配置信息。

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

4) 除了技術(shù)因素之外,基于rails框架來(lái)開(kāi)發(fā)web應(yīng)用,最大的優(yōu)勢(shì)就是開(kāi)發(fā)速度快,一般認(rèn)為達(dá)到使用Java的5-10倍速度,另外代碼量很少,這是Ruby吸引很多開(kāi)發(fā)人員的主要原因

5) 使用Ruby on rails開(kāi)發(fā)web應(yīng)用,其入門門檻和學(xué)習(xí)成本要遠(yuǎn)低于使用Java,一個(gè)基礎(chǔ)扎實(shí)的程序員通過(guò)一個(gè)月學(xué)習(xí)就可以熟練使用rails開(kāi)發(fā),但是學(xué)習(xí)三個(gè)月,都未必能夠熟練運(yùn)用主流Java框架來(lái)開(kāi)發(fā)。

Ruby語(yǔ)言優(yōu)缺點(diǎn)之Ruby的不足:

1)從技術(shù)角度來(lái)說(shuō),Ruby解析器的性能比較差,遠(yuǎn)低于Java的JVM。不過(guò)對(duì)于Web應(yīng)用來(lái)說(shuō),這個(gè)缺點(diǎn)沒(méi)有什么影響:因?yàn)閃eb應(yīng)用的瓶頸往往出現(xiàn)在數(shù)據(jù)庫(kù)訪問(wèn)上面。另外Ruby的VM將可能在2007年底推出,屆時(shí)ruby性能會(huì)有一個(gè)很大的改觀。

2)相對(duì)比Java豐富的各種第三方類庫(kù)來(lái)說(shuō),Ruby的第三方類庫(kù)顯得非常缺乏,而且不成熟,特別是針對(duì)企業(yè)應(yīng)用的各種第三方類庫(kù)支持,空白點(diǎn)很多。這是目前制約Ruby在企業(yè)應(yīng)用普及的最大障礙之一。相信隨著時(shí)間的推移和Ruby的普及,將會(huì)有所改善。

3)Ruby,特別是用rails開(kāi)發(fā)的web應(yīng)用在Windows操作系統(tǒng)上面得到的支持還很不夠,傳統(tǒng)上都是部署在Unix/Linux操作系統(tǒng)上的。Windows目前來(lái)說(shuō)只能作為開(kāi)發(fā)環(huán)境,而不能作為生產(chǎn)運(yùn)行環(huán)境。
綜上所述,我們不難看出Java和Ruby不是兩個(gè)相互對(duì)立的開(kāi)發(fā)語(yǔ)言,對(duì)于Ruby和Java誰(shuí)更具有優(yōu)勢(shì)的討論意義已經(jīng)不大,首先從Java本身來(lái)講,,Java有其自己的優(yōu)勢(shì),并且 Java將會(huì)繼續(xù)處于頂峰,并在企業(yè)應(yīng)用上保持良好的表現(xiàn),這一點(diǎn)毋庸置疑,并且已經(jīng)得到了市場(chǎng)的證明。

另外, Ruby有極強(qiáng)的文本處理能力,與Perl不分伯仲,同時(shí),Ruby的語(yǔ)法簡(jiǎn)單,還有異常處理以及迭代器等構(gòu)造使編程變得簡(jiǎn)單明了,這也正是我們所期待的下一代編程語(yǔ)言。

如果單從某一種語(yǔ)言的角度來(lái)看,我們似乎并不能看出什么,但是如果站在更高的位置,從不同的角度全面的看待問(wèn)題,我們不難發(fā)現(xiàn),二者將會(huì)求同存異,各自發(fā)揮自己的特長(zhǎng),從而使我們能構(gòu)建出更加強(qiáng)大的應(yīng)用程序。

Sun 收購(gòu)JRuby的同時(shí),Charles Nutter JRuby 的核心開(kāi)發(fā)者之一, Thomas Enobo也加入了Sun。這似乎能夠讓我們把Ruby和Java聯(lián)系在一起,Sun公司如果能夠在JVM上做充足的投入,更好地支持動(dòng)態(tài)語(yǔ)言, 擁抱新的事物,依托Sun公司的強(qiáng)大實(shí)力和其自身獨(dú)特的優(yōu)點(diǎn),Ruby必將會(huì)有巨大的市場(chǎng),同時(shí),Ruby也需要一個(gè)過(guò)渡期,在市場(chǎng)中得到驗(yàn)證,讓更多的人去使用它,但就目前來(lái)講Ruby已經(jīng)從暗流涌動(dòng),開(kāi)始揚(yáng)帆遠(yuǎn)行!

以上就是Ruby語(yǔ)言優(yōu)缺點(diǎn)的詳細(xì)概述。

責(zé)任編輯:曹凱 來(lái)源: 百度博客
相關(guān)推薦

2009-12-31 14:45:05

Silverlight

2009-12-01 18:36:51

2010-01-26 17:48:13

Android性能

2017-04-10 15:08:44

VMwareVVOL優(yōu)缺點(diǎn)

2010-08-27 13:58:06

DIV+CSS

2010-01-26 14:30:56

Android瀏覽器

2011-04-15 09:05:18

VMware私有云

2009-07-21 10:04:57

Scala編程語(yǔ)言

2010-02-06 10:29:52

C++ #define

2009-12-04 11:02:00

PHP語(yǔ)言優(yōu)缺點(diǎn)

2009-08-28 15:03:39

Ruby語(yǔ)言特點(diǎn)Ruby

2011-04-08 11:15:20

編程語(yǔ)言編程游戲開(kāi)發(fā)

2011-04-08 10:49:35

編程語(yǔ)言編程游戲開(kāi)發(fā)

2021-10-09 09:52:17

云存儲(chǔ)公共云遷移

2019-11-15 13:26:17

編程語(yǔ)言微軟C語(yǔ)言

2019-01-02 11:30:36

JavaKotlin語(yǔ)言

2009-11-05 14:13:33

WCF自承載

2022-09-22 12:04:22

.NET開(kāi)發(fā)框架

2022-07-18 13:36:13

零信任網(wǎng)絡(luò)安全

2012-05-03 09:58:19

VLANVLAN劃分
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)