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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
30歲的Ruby:單挑Java后,為何再難出頭?

編譯丨千山

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出蒙陰免費(fèi)做網(wǎng)站回饋大家。

如果你在Web開發(fā)領(lǐng)域摸爬滾打了許久,你就會(huì)親眼見證眾多語言和框架的興起和衰落。在群星明滅中,Ruby和它的Web應(yīng)用框架Ruby on Rails就像一顆流星,在爆發(fā)出璀璨光華后又漸漸歸于寥落。

曾經(jīng),Rails的出現(xiàn)極大地推動(dòng)了Ruby語言的發(fā)展。在Rails風(fēng)頭正勁時(shí),即使是最保守的公司也開始考慮采用Ruby,甚至業(yè)界提出過“Ruby將挑戰(zhàn)Java”的言論。

但現(xiàn)實(shí)是,站在十幾年后的今天回望,Ruby將取代Java的想法似乎很可笑。根據(jù)TIOBE公布的2023年1月編程語言排行榜,Ruby位列第十六,介于MATLAB和Object Pascal之間,同時(shí)Java的人氣依舊,排行第四。而且相較Java,Ruby在招聘熱度、市場需求和開發(fā)者關(guān)注度等方面都遠(yuǎn)遠(yuǎn)落后。

TIOBE 2023年1月編程語言排行榜,圖源:互聯(lián)網(wǎng)

但是,暫時(shí)還是不要把Ruby和某些已經(jīng)“入土”的語言放在一起。盡管Ruby不再占據(jù)主導(dǎo)地位,但在編程語言界仍然有它的一席之地。本文試圖追溯這門語言的興衰,通過一批Ruby程序員之口,解析Ruby為何崛起、又如何從鼎盛期衰落,以及為什么他們認(rèn)為Ruby仍然有未來。

1、Ruby的光輝歲月:因何偉大

Ruby是一種用于面向?qū)ο缶幊痰慕忉屝阅_本語言,核心優(yōu)勢(shì)就是允許開發(fā)者快速構(gòu)建并啟動(dòng)應(yīng)用程序,特別是對(duì)于前端應(yīng)用程序,這一點(diǎn)始終未變。

這門語言由松本行弘在1993年創(chuàng)建,1995年正式發(fā)布,基本和Java算是同期。但相比Java的“光環(huán)”,Ruby一直非常低調(diào)。

直到2004年,David Heinemeier Hansson發(fā)布了世界上首個(gè)Web MVC框架Ruby on Rails。這個(gè)小眾語言開始讓世界為之驚喜。

Ruby的發(fā)展可以說適逢其會(huì)。1994年萬維網(wǎng)誕生,十年后,Web 2.0逐漸興起。這期間,Rails的誕生又加速了Ruby的發(fā)展。從2000年開始,Ruby以“黑馬”之姿走出日本,受到全球開發(fā)者的關(guān)注,其受歡迎程度在TIOBE指數(shù)評(píng)級(jí)中逐漸達(dá)到頂峰。當(dāng)時(shí),不少大型網(wǎng)站,比如Twitter和Groupon都對(duì)這門語言青睞有加。

松本行弘曾在接受采訪時(shí)如此評(píng)價(jià)Ruby的“盛世”:“首先是得益于Web的快速發(fā)展,幾乎所有的軟件開發(fā)平臺(tái)都在瞄準(zhǔn)Web這個(gè)領(lǐng)域。也就是說,在Web上能夠開發(fā)的應(yīng)用變多了,這是一個(gè)主要的背景。另外,Ruby的優(yōu)勢(shì)在于開發(fā)效率比較高。這兩點(diǎn)結(jié)合起來,我認(rèn)為就是Ruby on Rails成功的主要原因?!?/p>

歸根結(jié)底,促成Ruby崛起的因素有很多,但離不開這門語言自身的特質(zhì)。

首先,開發(fā)速度快?!癛uby on Rails仍然是小團(tuán)隊(duì)影響大團(tuán)隊(duì)的好方法,”《Programming Ruby 3.2》一書的合著者Noel Rappin說:“從零開始構(gòu)建真正有價(jià)值的產(chǎn)品,這仍然是最快的方法之一?!庇绕鋵?duì)于創(chuàng)業(yè)公司以及最小化可行產(chǎn)品的開發(fā)來說,試錯(cuò)成本高,任何小小的延誤都可能招致失敗,因此Ruby on Rails就成了一種戰(zhàn)略上的選擇。

再者,使用簡單。由于Ruby語言本身采用大量英語單詞,上手難度低,而且Ruby on Rails的語法簡單明了,程序員只需編寫少量代碼就可以解決復(fù)雜的任務(wù)。清晰的語法可以讓開發(fā)人員在多個(gè)項(xiàng)目之間切換,這讓開發(fā)和維護(hù)代碼更為便利。

最后,社區(qū)的支持。強(qiáng)大而又凝聚力的社區(qū)對(duì)Ruby的發(fā)展發(fā)揮了巨大作用。Qwoted的首席技術(shù)官Kevin Trowbridge認(rèn)為,這與語言本身的性質(zhì)有很大關(guān)系?!八撬芯幊陶Z言中最通俗易懂的,易讀易寫,這種理念不但有助于優(yōu)化產(chǎn)品,更能提升開發(fā)人員的生產(chǎn)力和幸福感,這也解釋了為什么它有如此強(qiáng)大的社區(qū)支持。”

當(dāng)然編程語言界的競爭向來激烈,Ruby在向前推進(jìn)的同時(shí),其他語言和框架也沒有停滯不前。甚至隨著時(shí)代的發(fā)展,當(dāng)互聯(lián)網(wǎng)公司逐漸更關(guān)注規(guī)模伸縮等問題時(shí),Ruby開始暴露出可擴(kuò)展性不佳等缺陷。

2、來自JavaScript和Python的挑戰(zhàn)

“Rails出現(xiàn)在網(wǎng)絡(luò)轉(zhuǎn)型和發(fā)展的風(fēng)口浪尖,它既受益于這種增長,也推動(dòng)了這種增長,但它不會(huì)是唯一成功的個(gè)例。這是一個(gè)既定的結(jié)論?!睆?006年開始成為Ruby開發(fā)人員的Matthew Boeh這樣描述。

在他看來,某種程度上甚至可以說“Ruby是其自身成功的受害者”。

“因?yàn)樗纳鐓^(qū)是近年來命令行復(fù)興的主要驅(qū)動(dòng)力。在本世紀(jì)初,它向那些從未聽說過Lisp的人介紹了repr驅(qū)動(dòng)的開發(fā),向那些被Perl的CPAN嚇跑的人介紹了包管理,向Java世界之外的人介紹了測試驅(qū)動(dòng)的開發(fā)……這些在今天都是習(xí)以為常的必需品。盡管這些都不是Ruby的原創(chuàng),但都是Ruby愛好者推廣和使用的?!?/p>

如果說現(xiàn)在有一種語言在Ruby曾經(jīng)統(tǒng)治的領(lǐng)域占據(jù)主導(dǎo)地位,那就是JavaScript。

“隨著JavaScript發(fā)展成為一種全棧語言,工程師們可以用一種語言,甚至一個(gè)共享代碼庫來構(gòu)建前端、后端和移動(dòng)項(xiàng)目,”New Relic開發(fā)總監(jiān)Jemeah Sius說,“Ruby很容易學(xué)習(xí),有很高的安全標(biāo)準(zhǔn),還有一個(gè)活躍的社區(qū)。但當(dāng)有人想到全棧時(shí),他們想到的是JavaScript、Node.js、React或其他他們喜歡的框架。”

Qwoted的首席技術(shù)官Trowbridge指出,JavaScript之所以能夠填補(bǔ)這一空白,是因?yàn)樗呀?jīng)從開發(fā)人員曾經(jīng)不屑一顧的語言中得到了改進(jìn)。事實(shí)上,隨著時(shí)間的推移,它變得更像Ruby了。“瀏覽器廠商在正規(guī)化、標(biāo)準(zhǔn)化、簡化和增強(qiáng)方面做出了努力,”他說?!八冗^去的JavaScript好太多了。”

“當(dāng)前形式的JavaScript生態(tài)系統(tǒng)在2004年是不可想象的——它需要命令行復(fù)興和網(wǎng)絡(luò)平臺(tái)的起飛,”Boeh補(bǔ)充道?!皬?999年到2009年,整整十年時(shí)間才發(fā)布了一個(gè)新的JavaScript標(biāo)準(zhǔn)版本。而現(xiàn)在是一年一次?!?/p>

與此同時(shí),Python已經(jīng)主導(dǎo)了當(dāng)今最熱門的開發(fā)領(lǐng)域之一,人工智能和機(jī)器學(xué)習(xí)。“Python在科學(xué)界流行起來,因?yàn)樗麄兛梢员纫酝斓亟⒛P秃退惴ㄔ停运萊uby領(lǐng)先了幾年”,Bhardwaj說,“另一方面,Ruby被認(rèn)為執(zhí)行緩慢,因而沒有得到更多關(guān)注?!?/p>

New Relic的Sius對(duì)此表示贊同?!爱?dāng)有人想到一種多功能語言,可以創(chuàng)建從游戲到VR到AI到ML的所有東西時(shí),每個(gè)人都知道Python是明顯的贏家?!?/p>

3、Ruby的衰落

JavaScript和Python能在和Ruby的較量中占據(jù)上風(fēng)的因素有很多,而且并不局限于語言本身的特性。

Qwoted的Trowbridge說:“Python和Ruby有很多相似處,比如,它們都是動(dòng)態(tài)的解釋性腳本語言,適合在服務(wù)器上使用。它們運(yùn)行效率不高,所以運(yùn)行起來很昂貴,但它們都有令人難以置信的靈活性,所以對(duì)初學(xué)者來說也很友好?!?/p>

但當(dāng)涉及到數(shù)據(jù)科學(xué)時(shí),由于TensorFlow和Keras等框架的現(xiàn)成可用性,Python無疑更有優(yōu)勢(shì)。Bhardwaj說:“這些框架使程序員更容易構(gòu)建數(shù)據(jù)可視化和編寫機(jī)器學(xué)習(xí)程序?!?/p>

與此同時(shí),JavaScript已經(jīng)產(chǎn)生了數(shù)不勝數(shù)的庫,開發(fā)人員可以輕松下載并適應(yīng)乎所有目標(biāo)。其中許多庫都是由社區(qū)成員開發(fā)的,這也推動(dòng)了其他人的貢獻(xiàn),就像滾雪球一樣,任何參與開源的人都熟悉這種效應(yīng)。

在這場博弈中,還有一個(gè)不可忽視的大玩家在發(fā)揮著巨大的影響力,那就是主導(dǎo)了TensorFlow發(fā)布的谷歌。

谷歌將Python作為其內(nèi)部腳本語言,同時(shí)對(duì)提升JavaScript也表現(xiàn)得興趣盎然。Trowbridge認(rèn)為谷歌使JavaScript比以前更快,內(nèi)存效率更高。與此同時(shí),人們普遍認(rèn)為Ruby在性能上落后,部分原因是它缺乏類似的企業(yè)贊助商和資源來改進(jìn)它。

在Ruby曾經(jīng)興盛的一些領(lǐng)域,它還沒有被其他語言所取代。更確切地說,整體環(huán)境已經(jīng)發(fā)生了變化,所以這些利基市場已經(jīng)不再被識(shí)別。Boeh表示:“我最初是為一家本地創(chuàng)意機(jī)構(gòu)的客戶制作營銷網(wǎng)站和在線商店,我認(rèn)為人們很容易忽視網(wǎng)絡(luò)開發(fā)世界的底層已經(jīng)被自動(dòng)化取代了。幾年之內(nèi),整個(gè)業(yè)務(wù)就不復(fù)存在了——當(dāng)他們可以用WordPress或Shopify做得相當(dāng)不錯(cuò)時(shí),沒有人對(duì)這樣的定制網(wǎng)站感興趣?!?/p>

4、還有未來

2023年,Ruby已經(jīng)30歲了。相較Pascal、COBOL乃至Perl這些語言來說,Ruby的情況要好一些,但衰落之勢(shì)似乎不可逆轉(zhuǎn)。就像遠(yuǎn)行之船,固然沒有下沉,但航速還是越來越慢。

Ruby到底還有沒有未來?面對(duì)這一質(zhì)疑,一眾開發(fā)人員還是表現(xiàn)樂觀。

其中,電子商務(wù)巨頭Shopify是最大的原因之一,因?yàn)镽uby on Rails是它的主要開發(fā)平臺(tái)。Bhardwaj說:“Ruby仍然是開發(fā)電子商務(wù)應(yīng)用程序的最佳工具,因?yàn)樗哂袆?dòng)態(tài)功能和靈活性。你可以通過不同的模塊構(gòu)建應(yīng)用程序,然后再進(jìn)行修改。這讓我們更容易更新應(yīng)用以獲得更多功能?!?/p>

雖然Shopify的運(yùn)營規(guī)模遠(yuǎn)不如谷歌,但它仍然致力于成為Ruby的贊助人,就像谷歌為其青睞的語言所做的那樣。例如,Shopify最近開發(fā)了YJIT,這是一個(gè)即時(shí)編譯器,可以提高Ruby的性能,并已內(nèi)置于Ruby標(biāo)準(zhǔn)中。

Trowbridge表示,Ruby“作為一種出色的服務(wù)器端‘粘合劑’語言,它在Web應(yīng)用程序的服務(wù)器組件上表現(xiàn)出色,就像Rails的‘只使用API’模式一樣”。他指出,在某些方面這個(gè)角色“讓Ruby基本上回到了它的起點(diǎn)”。

“總而言之,幾乎所有與我交談過的人都相信Ruby和Ruby on Rails將繼續(xù)在許多環(huán)境中使用。就像很多語言雖然不再像以前那樣流行,但仍在大量使用。我認(rèn)為Java就是個(gè)典型案例,Ruby和Java將會(huì)有相似的發(fā)展軌跡?!?/p>

最后,還有很多人認(rèn)為,Ruby的社區(qū)對(duì)Ruby始終抱有溫暖和熱情,這是很難在其他語言中找到的。就像Lumenova AI的首席技術(shù)官Cosmin Andriescu所說:“Rails仍然有一個(gè)主要的優(yōu)勢(shì),它有大量的Ruby gem庫。相較之下,不少JavaScript框架的API不穩(wěn)定,在必要的Web開發(fā)工具方面還不夠成熟?!?/p>

Boeh補(bǔ)充道:“現(xiàn)在Ruby世界有很多令人興奮的發(fā)展。Ruby永遠(yuǎn)不會(huì)再成為下一個(gè)重要的新事物,但我認(rèn)為它會(huì)一直存在下去?!?/p>

5、寫在最后:到底還要不要學(xué)習(xí)Ruby

軟件的生命周期有其固有的規(guī)律,一門編程語言能夠堅(jiān)持走過三十年絕非易事。

“Ruby有很多特性,我覺得最為大家喜愛的是它的簡潔、高效以及人性化。但同時(shí)也有開發(fā)者不喜歡Ruby,因?yàn)橐坏?yīng)用到工作中,由于Ruby太靈活,犯錯(cuò)的概率會(huì)隨之增大。還有人說Ruby很多東西都是在運(yùn)行時(shí)來決定的,比較麻煩?!盧uby之父松本行弘在接受采訪時(shí)曾如是說。

他認(rèn)為,這實(shí)際是一個(gè)取舍的問題。“從使用Ruby的角度來說,我個(gè)人認(rèn)為最重要的是靈活性,當(dāng)然容易寫出bug的確很煩,不過我還是想要保留Ruby最重要的特性。而且,Ruby會(huì)持續(xù)改進(jìn),進(jìn)一步提高開發(fā)效率?!?/p>

對(duì)于開發(fā)人員來說,是否要在職業(yè)規(guī)劃中學(xué)習(xí)Ruby,同樣是一個(gè)取舍問題。一方面,在過去的十年中,開發(fā)領(lǐng)域可謂百花齊放,Node.js、Angular和React在前端和后端各領(lǐng)風(fēng)騷,JavaScript在市場需求穩(wěn)定性上越來越具有優(yōu)勢(shì),Python后來者居上快速“殺入”主流編程語言圈;另一方面,不少公司對(duì)Ruby和Rails的開發(fā)者依舊有需求,自2008年以來出現(xiàn)的一切SaaS,在未來幾十年中都需要新的開發(fā)者加入進(jìn)來。說到底,任何語言都是有應(yīng)用場景限制的,而場景的變化是非??斓?。不管你學(xué)不學(xué)、用不用Ruby,你總得深入一個(gè)語言。深入以后,才會(huì)有進(jìn)一步衡量與評(píng)估的眼界。

參考鏈接:

??https://www.infoworld.com/article/3687219/whatever-happened-to-ruby.html??

??https://zhuanlan.zhihu.com/p/108825259?utm_source=wechat_session??

??https://www.duidaima.com/Group/Topic/OtherLanguage/3300??


本文名稱:30歲的Ruby:單挑Java后,為何再難出頭?
文章地址:http://m.5511xx.com/article/ccsohid.html