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

30歲的Ruby:單挑Java后,為何再難出頭?

原創 精選
開發 前端
曾經,Rails的出現極大地推動了Ruby語言的發展。在Rails風頭正勁時,即使是最保守的公司也開始考慮采用Ruby,甚至業界提出過“Ruby將挑戰Java”的言論。

編譯丨千山

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

曾經,Rails的出現極大地推動了Ruby語言的發展。在Rails風頭正勁時,即使是最保守的公司也開始考慮采用Ruby,甚至業界提出過“Ruby將挑戰Java”的言論。

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

圖片

TIOBE 2023年1月編程語言排行榜,圖源:互聯網

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

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

Ruby是一種用于面向對象編程的解釋性腳本語言,核心優勢就是允許開發者快速構建并啟動應用程序,特別是對于前端應用程序,這一點始終未變。

這門語言由松本行弘在1993年創建,1995年正式發布,基本和Java算是同期。但相比Java的“光環”,Ruby一直非常低調。

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

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

松本行弘曾在接受采訪時如此評價Ruby的“盛世”:“首先是得益于Web的快速發展,幾乎所有的軟件開發平臺都在瞄準Web這個領域。也就是說,在Web上能夠開發的應用變多了,這是一個主要的背景。另外,Ruby的優勢在于開發效率比較高。這兩點結合起來,我認為就是Ruby on Rails成功的主要原因。”

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

首先,開發速度快。“Ruby on Rails仍然是小團隊影響大團隊的好方法,”《Programming Ruby 3.2》一書的合著者Noel Rappin說:“從零開始構建真正有價值的產品,這仍然是最快的方法之一。”尤其對于創業公司以及最小化可行產品的開發來說,試錯成本高,任何小小的延誤都可能招致失敗,因此Ruby on Rails就成了一種戰略上的選擇。

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

最后,社區的支持。強大而又凝聚力的社區對Ruby的發展發揮了巨大作用。Qwoted的首席技術官Kevin Trowbridge認為,這與語言本身的性質有很大關系。“它是所有編程語言中最通俗易懂的,易讀易寫,這種理念不但有助于優化產品,更能提升開發人員的生產力和幸福感,這也解釋了為什么它有如此強大的社區支持。”

當然編程語言界的競爭向來激烈,Ruby在向前推進的同時,其他語言和框架也沒有停滯不前。甚至隨著時代的發展,當互聯網公司逐漸更關注規模伸縮等問題時,Ruby開始暴露出可擴展性不佳等缺陷。

2、來自JavaScript和Python的挑戰

“Rails出現在網絡轉型和發展的風口浪尖,它既受益于這種增長,也推動了這種增長,但它不會是唯一成功的個例。這是一個既定的結論。”從2006年開始成為Ruby開發人員的Matthew Boeh這樣描述。

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

“因為它的社區是近年來命令行復興的主要驅動力。在本世紀初,它向那些從未聽說過Lisp的人介紹了repr驅動的開發,向那些被Perl的CPAN嚇跑的人介紹了包管理,向Java世界之外的人介紹了測試驅動的開發……這些在今天都是習以為常的必需品。盡管這些都不是Ruby的原創,但都是Ruby愛好者推廣和使用的。”

如果說現在有一種語言在Ruby曾經統治的領域占據主導地位,那就是JavaScript。

“隨著JavaScript發展成為一種全棧語言,工程師們可以用一種語言,甚至一個共享代碼庫來構建前端、后端和移動項目,”New Relic開發總監Jemeah Sius說,“Ruby很容易學習,有很高的安全標準,還有一個活躍的社區。但當有人想到全棧時,他們想到的是JavaScript、Node.js、React或其他他們喜歡的框架。”

Qwoted的首席技術官Trowbridge指出,JavaScript之所以能夠填補這一空白,是因為它已經從開發人員曾經不屑一顧的語言中得到了改進。事實上,隨著時間的推移,它變得更像Ruby了。“瀏覽器廠商在正規化、標準化、簡化和增強方面做出了努力,”他說。“它比過去的JavaScript好太多了。”

“當前形式的JavaScript生態系統在2004年是不可想象的——它需要命令行復興和網絡平臺的起飛,”Boeh補充道。“從1999年到2009年,整整十年時間才發布了一個新的JavaScript標準版本。而現在是一年一次。”

與此同時,Python已經主導了當今最熱門的開發領域之一,人工智能和機器學習。“Python在科學界流行起來,因為他們可以比以往更快地建立模型和算法原型,所以它比Ruby領先了幾年”,Bhardwaj說,“另一方面,Ruby被認為執行緩慢,因而沒有得到更多關注。”

New Relic的Sius對此表示贊同。“當有人想到一種多功能語言,可以創建從游戲到VR到AI到ML的所有東西時,每個人都知道Python是明顯的贏家。”

3、Ruby的衰落

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

Qwoted的Trowbridge說:“Python和Ruby有很多相似處,比如,它們都是動態的解釋性腳本語言,適合在服務器上使用。它們運行效率不高,所以運行起來很昂貴,但它們都有令人難以置信的靈活性,所以對初學者來說也很友好。”

但當涉及到數據科學時,由于TensorFlow和Keras等框架的現成可用性,Python無疑更有優勢。Bhardwaj說:“這些框架使程序員更容易構建數據可視化和編寫機器學習程序。”

與此同時,JavaScript已經產生了數不勝數的庫,開發人員可以輕松下載并適應乎所有目標。其中許多庫都是由社區成員開發的,這也推動了其他人的貢獻,就像滾雪球一樣,任何參與開源的人都熟悉這種效應。

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

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

在Ruby曾經興盛的一些領域,它還沒有被其他語言所取代。更確切地說,整體環境已經發生了變化,所以這些利基市場已經不再被識別。Boeh表示:“我最初是為一家本地創意機構的客戶制作營銷網站和在線商店,我認為人們很容易忽視網絡開發世界的底層已經被自動化取代了。幾年之內,整個業務就不復存在了——當他們可以用WordPress或Shopify做得相當不錯時,沒有人對這樣的定制網站感興趣。”

4、還有未來

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

Ruby到底還有沒有未來?面對這一質疑,一眾開發人員還是表現樂觀。

其中,電子商務巨頭Shopify是最大的原因之一,因為Ruby on Rails是它的主要開發平臺。Bhardwaj說:“Ruby仍然是開發電子商務應用程序的最佳工具,因為它具有動態功能和靈活性。你可以通過不同的模塊構建應用程序,然后再進行修改。這讓我們更容易更新應用以獲得更多功能。”

雖然Shopify的運營規模遠不如谷歌,但它仍然致力于成為Ruby的贊助人,就像谷歌為其青睞的語言所做的那樣。例如,Shopify最近開發了YJIT,這是一個即時編譯器,可以提高Ruby的性能,并已內置于Ruby標準中。

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

“總而言之,幾乎所有與我交談過的人都相信Ruby和Ruby on Rails將繼續在許多環境中使用。就像很多語言雖然不再像以前那樣流行,但仍在大量使用。我認為Java就是個典型案例,Ruby和Java將會有相似的發展軌跡。”

最后,還有很多人認為,Ruby的社區對Ruby始終抱有溫暖和熱情,這是很難在其他語言中找到的。就像Lumenova AI的首席技術官Cosmin Andriescu所說:“Rails仍然有一個主要的優勢,它有大量的Ruby gem庫。相較之下,不少JavaScript框架的API不穩定,在必要的Web開發工具方面還不夠成熟。”

Boeh補充道:“現在Ruby世界有很多令人興奮的發展。Ruby永遠不會再成為下一個重要的新事物,但我認為它會一直存在下去。”

5、寫在最后:到底還要不要學習Ruby

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

“Ruby有很多特性,我覺得最為大家喜愛的是它的簡潔、高效以及人性化。但同時也有開發者不喜歡Ruby,因為一旦應用到工作中,由于Ruby太靈活,犯錯的概率會隨之增大。還有人說Ruby很多東西都是在運行時來決定的,比較麻煩。”Ruby之父松本行弘在接受采訪時曾如是說。

他認為,這實際是一個取舍的問題。“從使用Ruby的角度來說,我個人認為最重要的是靈活性,當然容易寫出bug的確很煩,不過我還是想要保留Ruby最重要的特性。而且,Ruby會持續改進,進一步提高開發效率。”

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

參考鏈接:

??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??

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2014-03-25 09:56:42

程序員30歲后

2013-01-29 10:40:52

程序員

2017-09-20 09:06:20

程序員網站后端服務

2019-09-19 10:15:15

程序員人生第一份工作文章

2012-02-02 14:35:08

程序員

2020-01-20 09:49:58

華為騰訊百度

2009-07-23 09:41:32

程序員職業發展

2013-05-15 16:43:38

2009-05-06 09:56:22

Ruby性能改進

2014-10-30 13:46:10

谷歌

2015-02-27 09:28:22

程序員

2020-11-03 10:34:23

程序員IT互聯網

2021-01-12 14:24:26

Python開發大數據

2012-12-07 13:25:03

職業規劃總結開發人員

2020-07-20 08:15:10

工作公司團隊

2009-02-26 10:49:29

軟件工程師職業生涯職業規劃

2010-03-26 13:14:21

CentOS系統

2018-04-15 16:11:57

RubyMatz語言

2014-09-16 10:05:39

職場年薪

2012-05-30 09:12:46

NodeJSRubyRails
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产在线不卡视频 | 欧美日韩一卡 | 国产一级电影在线 | 九九av| 一区二区三区亚洲视频 | 亚洲狠狠爱 | 中文字幕第7页 | 性做久久久久久免费观看欧美 | 91在线观| 日韩中文字幕2019 | 国产激情视频在线观看 | 91久久久精品国产一区二区蜜臀 | 91视在线国内在线播放酒店 | 免费永久av | 欧美一级淫片免费视频黄 | 国产精品v | 九九看片 | 一级毛片在线播放 | 免费精品 | 九九热精品视频 | 91看片在线 | 亚卅毛片| 青青草在线播放 | 91伊人 | 国产 欧美 日韩 一区 | 一区二区三区亚洲 | 日韩高清国产一区在线 | 欧美毛片免费观看 | 亚洲视频一区二区三区 | 亚洲一区二区三区在线免费 | 亚洲精品国产综合区久久久久久久 | 青青草社区 | 日日操av | 久久国产精品视频 | 日韩精品在线一区 | 精品一区二区av | 久久久青草婷婷精品综合日韩 | av在线电影网站 | 1级毛片| 亚洲成人一区 | 日韩免费av|