0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

松本:今年Ruby 3真的要來(lái)了

工程師 ? 來(lái)源:CSDN ? 作者:CSDN ? 2020-09-15 15:43 ? 次閱讀

設(shè)計(jì)一款編程語(yǔ)言有多難?Ruby 創(chuàng)始人揭秘

最近,Ruby編程語(yǔ)言的創(chuàng)始人兼主設(shè)計(jì)師、云平臺(tái)即服務(wù)公司Heroku的Ruby首席架構(gòu)師松本行弘在一次演講中表示,由松本行弘領(lǐng)導(dǎo)的Ruby社區(qū)對(duì)該編程語(yǔ)言的發(fā)展進(jìn)行了深入思考。此次30分鐘的演講中還提到了該編程語(yǔ)言即將迎來(lái)激動(dòng)人心的新發(fā)展。

松本表示:“在過(guò)去的四五年間,我一直在談?wù)揜uby 3的未來(lái)。也許很多人已經(jīng)厭倦了這種老生常談。但是今年Ruby 3真的要來(lái)了,今年12月25日圣誕節(jié)Ruby 3將正式發(fā)布?!痹谑フQ節(jié)當(dāng)天發(fā)布Ruby語(yǔ)言升級(jí)是該語(yǔ)言的一項(xiàng)傳統(tǒng)。

“如果一切順利的話(huà),我們將于12月正式發(fā)布Ruby 3,除非出現(xiàn)非常糟糕的意外?!?/p>

設(shè)計(jì)師的困境

來(lái)自世界各地(從印度到印度尼西亞,從巴西到柏林)的數(shù)百名觀(guān)眾觀(guān)看了松本的直播,很多人發(fā)表了熱情洋溢的評(píng)論。他們聚集在一起觀(guān)看為Ruby的發(fā)展付出了25年心血的松本的演講。據(jù)說(shuō),Ruby 3本來(lái)計(jì)劃于東京奧運(yùn)會(huì)的前夕推出,但由于奧運(yùn)會(huì)被推遲到2021年,因此核心開(kāi)發(fā)人員懷疑Ruby 3是否也應(yīng)該推遲一年。

“但是經(jīng)過(guò)一番討論,我們決定于今年發(fā)布Ruby 3,因?yàn)樽鳛殚_(kāi)源社區(qū),我們必須向前邁進(jìn)。我們必須不斷前進(jìn),開(kāi)源社區(qū)通常不能停止發(fā)展,否則,就會(huì)面臨死亡……”。

松本深刻地描述了所有語(yǔ)言設(shè)計(jì)師所面臨的困境?!懊總€(gè)人都喜歡新事物,因此,作為程序員工程師,我也喜歡新事物。此外,我非常喜歡語(yǔ)言,所以我喜歡研究新的編程語(yǔ)言,比如Elixir、Rust、Go等。我為這些語(yǔ)言感到非常興奮?!比欢?,這也為Ruby語(yǔ)言的變革帶來(lái)了壓力。松本說(shuō):“Ruby有點(diǎn)年頭了,它于1995年發(fā)布。我們只是凡人。我們犯了一些錯(cuò)誤。因此作為語(yǔ)言設(shè)計(jì)師,我們希望糾正過(guò)去的錯(cuò)誤。”

但與此同時(shí),“沒(méi)有人希望經(jīng)歷痛苦?!痹谒蠾eb應(yīng)用程序都在使用Ruby現(xiàn)有版本的情況下,強(qiáng)迫開(kāi)發(fā)人員升級(jí)有點(diǎn)危險(xiǎn),“沒(méi)有人喜歡痛苦。從這個(gè)意義上講,Ruby應(yīng)該是穩(wěn)定的。這似乎有點(diǎn)矛盾吧?”

“因此,Ruby語(yǔ)言的設(shè)計(jì)以及語(yǔ)言的計(jì)劃很難克服這種矛盾。這種矛盾是我們發(fā)自?xún)?nèi)心的?!?/p>

他講述了其他面臨類(lèi)似困境的編程語(yǔ)言,包括Python、PHP和ECMAScript,并指出這些社區(qū)花費(fèi)了多年的心血才讓大家接受了這些變化。例如Python 3,社區(qū)花費(fèi)了十多年的時(shí)間,而PHP 6甚至被取消了。他們?cè)诎l(fā)布之前放棄了重大更改,然后從PHP 5直接跳到了PHP 7。EMCAScript4也被取消了。

松本解釋說(shuō),如果不進(jìn)行更改,人們可能會(huì)離開(kāi)社區(qū)?!八麄儠?huì)因?yàn)闊o(wú)聊而停止使用Ruby?!钡瑫r(shí)他也擔(dān)心,如果升級(jí)到更高版本帶來(lái)的痛苦太多,那么他們可能也會(huì)離開(kāi)社區(qū),因?yàn)樗麄儠?huì)決定“也許我們的下一個(gè)項(xiàng)目應(yīng)該采用Rust、Go或其他編程語(yǔ)言?!?/p>

“因此,設(shè)計(jì)一種語(yǔ)言很困難,但是無(wú)論如何我們都必須向前邁進(jìn),以創(chuàng)造未來(lái)。”

讓Ruby重振光輝

在演講中,松本還概述了保持兼容性的計(jì)劃,同時(shí)“加快Rust的速度,提高Ruby程序員的效率?!彼_定了三個(gè)明確而具體的目標(biāo),這些目標(biāo)代表了即將發(fā)布的Ruby 3的特征:快速、并發(fā)與正確。

為了加快Ruby的速度,開(kāi)發(fā)團(tuán)隊(duì)將著手改進(jìn)其JIT編譯器(用于生成原生代碼)。為了實(shí)現(xiàn)并發(fā),他們沒(méi)有選擇其他語(yǔ)言的解決方案,而是打算嘗試自己的一種方法。Node.js添加了Promise來(lái)通知異步操作的完成,而ECSMAScript 7添加了帶有關(guān)鍵字async和await的控制機(jī)制,但Ruby 3將實(shí)現(xiàn)人們期待已久的異步i/o功能“fiber”,作為更好的控制異步線(xiàn)程的方法?!庇捎谠趂iber之間切換上下文很快,因此可以提高性能?!?/p>

他們認(rèn)為這種方法能夠提升性能的另一個(gè)原因是:它是由Ruby的falcon應(yīng)用服務(wù)器的創(chuàng)建者開(kāi)發(fā)的,松本認(rèn)為這個(gè)項(xiàng)目非???。但這并不是他們提高性能的唯一方法。他們還實(shí)現(xiàn)了“Ractor”(即Ruby Actor),類(lèi)似于JavaScript提供背后“Web worker”腳本的方式。每個(gè)Ractor都可以并行運(yùn)行,松本解釋說(shuō),這利用了現(xiàn)代多核系統(tǒng)中的并行處理。

Ruby的第三個(gè)目標(biāo)是正確性,這個(gè)目標(biāo)指的是提早檢查錯(cuò)誤,主要由類(lèi)型分析器負(fù)責(zé)實(shí)現(xiàn),它將生成Ruby簽名(松本將之類(lèi)比為T(mén)ypeScript中描述類(lèi)型的d.ts文件)。Ruby 3將為其核心庫(kù)提供類(lèi)型簽名,可用于類(lèi)型檢查,還可以用于增強(qiáng)將來(lái)的IDE。

但是它也有其局限性。松本解釋道:“我們不追求類(lèi)型系統(tǒng)的完整性和合理性,因?yàn)镽uby就是Ruby。Ruby基本上是動(dòng)態(tài)類(lèi)型的,這意味著,即使我們現(xiàn)在有了漸進(jìn)式類(lèi)型系統(tǒng),也無(wú)法進(jìn)行任何完全正確的類(lèi)型檢查,所以只能放棄。我們不會(huì)在語(yǔ)法中添加類(lèi)型聲明。”

三種新功能

Ruby 3的語(yǔ)法發(fā)生了一些變化。松本對(duì)三個(gè)新特性非常滿(mǎn)意,他表示:“Ruby會(huì)越來(lái)越好。首先是復(fù)雜的模式匹配語(yǔ)法,你不必解構(gòu)數(shù)組和哈希,因?yàn)榭梢跃帉?xiě)模式,非常簡(jiǎn)便?!?/p>

第二個(gè)新功能可以給等號(hào)右側(cè)的變量賦值。他說(shuō),雖然從外觀(guān)來(lái)看,我們會(huì)覺(jué)得有點(diǎn)“不自然”,IDE也會(huì)有點(diǎn)不適應(yīng),因?yàn)橐话惚磉_(dá)式都以變量開(kāi)頭,即使將值分配給很長(zhǎng)的一個(gè)代碼塊也是如此?!叭绻梢苑催^(guò)來(lái),將賦值變成右值運(yùn)算,那么看起來(lái)會(huì)很自然,但我們并不建議在所有地方使用。你不必用右值賦值來(lái)替換每個(gè)賦值操作,但是在某些情況下,這非常方便?!?/p>

Ruby 3中的第三個(gè)新功能是編號(hào)的塊參數(shù),“你不必再給臨時(shí)的本地塊參數(shù)起名字?!?/p>

松本表示:“穩(wěn)定性很重要”,所以他并沒(méi)有表示Ruby 3之后會(huì)有任何重大的語(yǔ)法變化。相反,他們將專(zhuān)注于改進(jìn)Ruby現(xiàn)有的支持工具,例如用于語(yǔ)言服務(wù)器協(xié)議的Solargraph,用于靜態(tài)類(lèi)型檢查的Sorbet,以及幫助開(kāi)發(fā)人員編寫(xiě)出符合Ruby規(guī)范的代碼的Rubocop 。“這些工具證明,工具越好帶來(lái)的用戶(hù)體驗(yàn)就越好。因此,我們必須繼續(xù)努力。我認(rèn)為我們需要更多的工具,然后我們還需要改進(jìn)這些工具。”松本還希望看到更好的類(lèi)型檢查工具和格式化工具,或者更好的性能調(diào)整和調(diào)試工具。此外,對(duì)于如何加快Ruby的速度,松本還有一些其他想法,例如在位于虛擬機(jī)上方設(shè)置另一個(gè)輕量級(jí)JIT編譯器,比如MIR或DynASM。

更加輕量級(jí)的Ruby

最后,在有關(guān)Ruby 3的討論中,松本還提到了另一個(gè)想法:“雖然這只是一個(gè)瘋狂的主意,但我正在考慮建立一個(gè)更加輕量級(jí)的Ruby子集,這個(gè)子集不僅更簡(jiǎn)單更嚴(yán)格,而且更快或更容易優(yōu)化?!?/p>

這個(gè)Ruby子集可以向下兼容,即可以在所有現(xiàn)有已有的Ruby版本中運(yùn)行(盡管并非所有版本的Ruby都可以在這個(gè)輕量級(jí)的Ruby中運(yùn)行)。在解釋其基本原理時(shí),松本展示了一張幻燈片,上面寫(xiě)著:“這款輕量級(jí)的Ruby運(yùn)行得更快?!彼硎荆骸斑@只是一個(gè)初步的想法。還不是十分明確。我們必須保持兼容性,但是如果我們止步于這個(gè)Ruby子集,那么可能會(huì)缺乏靈活性,但是應(yīng)該更容易優(yōu)化?!?/p>

松本還表示:“我有很多瘋狂的想法,我們會(huì)逐個(gè)嘗試,讓Ruby變得越來(lái)越好?!?/p>

作者 | DAVID CASSEL

譯者 | 彎月

來(lái)源:CSDN

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3683

    瀏覽量

    94899
  • ruby
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    3627
收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HBM3E量產(chǎn)后,第六代HBM4要來(lái)了!

    電子發(fā)燒友網(wǎng)報(bào)道(文/黃晶晶)眼下各家存儲(chǔ)芯片廠(chǎng)商的HBM3E陸續(xù)量產(chǎn),HBM4正在緊鑼密鼓地研發(fā),從規(guī)格標(biāo)準(zhǔn)到工藝制程、封裝技術(shù)等都有所進(jìn)展,原本SK海力士計(jì)劃2026年量產(chǎn)HBM4,不過(guò)最近
    的頭像 發(fā)表于 07-28 00:58 ?5648次閱讀
    HBM<b class='flag-5'>3</b>E量產(chǎn)后,第六代HBM4<b class='flag-5'>要來(lái)了</b>!

    蘋(píng)果首款真·全面屏iPhone要來(lái)了#蘋(píng)果 #iphone #手機(jī) #apple?

    行業(yè)芯事行業(yè)資訊
    jf_15747056
    發(fā)布于 :2025年05月27日 18:38:32

    人形機(jī)器人將迎量產(chǎn)元年,人機(jī)共生時(shí)代要來(lái)了?

    ,場(chǎng)面是相當(dāng)?shù)恼鸷?。同時(shí),2024年和2025年交匯之際,人形機(jī)器人的量產(chǎn)元年也要悄悄到來(lái)了。 ? 在港科大演講時(shí),英偉達(dá)CEO黃仁勛也提到,“在重工業(yè)和制造業(yè)中,由于物理人工智能的全新突破,機(jī)器人技術(shù)的投資正在迅速增加。我們見(jiàn)證了認(rèn)知智能基礎(chǔ)模
    的頭像 發(fā)表于 12-21 00:13 ?3810次閱讀
    人形機(jī)器人將迎量產(chǎn)元年,人機(jī)共生時(shí)代<b class='flag-5'>要來(lái)了</b>?

    今年西安最大IPO來(lái)了,奕斯偉材料

    IPO來(lái)了,奕斯偉材料估值240億元。 目前西安奕斯偉材料科技股份有限公司(奕斯偉材料)科創(chuàng)板IPO申請(qǐng)正式獲上交所受理。?奕斯偉集團(tuán)核心業(yè)務(wù)涵蓋芯片與方案、硅材料、生態(tài)鏈投資孵化三大領(lǐng)域。奕斯偉的硅材料業(yè)務(wù)主要包括半導(dǎo)體級(jí)12英寸硅單晶拋光片和外延片
    的頭像 發(fā)表于 12-03 16:33 ?1311次閱讀

    音頻信號(hào)失真的根源是什么?

    一般產(chǎn)生這種失真的根源是什么
    發(fā)表于 10-28 06:25

    真的需要軌到軌輸入放大器嗎

    電子發(fā)燒友網(wǎng)站提供《您真的需要軌到軌輸入放大器嗎.pdf》資料免費(fèi)下載
    發(fā)表于 10-25 09:52 ?0次下載
    您<b class='flag-5'>真的</b>需要軌到軌輸入放大器嗎

    華為發(fā)布三折疊屏手機(jī)!國(guó)內(nèi)芯片產(chǎn)業(yè)的新風(fēng)口

    華為即將發(fā)布三折疊屏手機(jī)!折疊屏手機(jī)關(guān)鍵元器件廠(chǎng)商迎發(fā)展機(jī)遇。 華為“三折疊”手機(jī)真的要來(lái)了! 據(jù)財(cái)聯(lián)社9月4日電,華為終端放出HUAWEI Mate XT | ULTIMATE DESIGN預(yù)熱
    的頭像 發(fā)表于 09-20 11:44 ?1079次閱讀
    華為發(fā)布三折疊屏手機(jī)!國(guó)內(nèi)芯片產(chǎn)業(yè)的新風(fēng)口

    蘋(píng)果今年將首次在印度生產(chǎn)最昂貴的iPhone Pro和Pro Max

    蘋(píng)果公司今年來(lái)了一項(xiàng)重大突破,首次在印度投產(chǎn)其旗艦產(chǎn)品——iPhone Pro及Pro Max系列,這一舉措不僅標(biāo)志著蘋(píng)果在印度本土化戰(zhàn)略上的重要里程碑,也深刻影響著亞洲乃至全球制造業(yè)的格局。
    的頭像 發(fā)表于 08-20 15:25 ?808次閱讀

    tina仿真的噪聲分析,可以分析電流噪聲嗎?

    tina仿真的噪聲分析,可以分析電流噪聲嗎
    發(fā)表于 08-06 08:23

    今日看點(diǎn)丨蘋(píng)果 iPhone 16 Pro / Max 被曝支持 Wi-Fi 7;三星:HBM3e先進(jìn)芯片今年量產(chǎn)

    1. 三星:HBM3e 先進(jìn)芯片今年量產(chǎn),營(yíng)收貢獻(xiàn)將增長(zhǎng)至60% ? 三星電子公司計(jì)劃今年開(kāi)始量產(chǎn)其第五代高帶寬存儲(chǔ)器(HBM)芯片HBM3e,并迅速提高其對(duì)營(yíng)收的貢獻(xiàn)。三星電子表示,
    發(fā)表于 08-01 11:08 ?1080次閱讀

    居然還有這樣的10.1寸光場(chǎng)裸眼3D視覺(jué)訓(xùn)練平板電腦?

    在這個(gè)科技飛速發(fā)展的時(shí)代,我們?yōu)槟鷰?b class='flag-5'>來(lái)了一款革命性的產(chǎn)品——10.1寸光場(chǎng)裸眼3D視覺(jué)訓(xùn)練平板電腦。這款平板電腦不僅讓您無(wú)需佩戴3D眼鏡就能享受逼真的立體視覺(jué)效果,還通過(guò)先進(jìn)的技術(shù)幫助
    的頭像 發(fā)表于 07-25 14:09 ?538次閱讀
    居然還有這樣的10.1寸光場(chǎng)裸眼<b class='flag-5'>3</b>D視覺(jué)訓(xùn)練平板電腦?

    英偉達(dá)H20芯片或遭禁售但新款“閹割版”GPU要來(lái)了?

    行業(yè)芯事行業(yè)資訊
    電子發(fā)燒友網(wǎng)官方
    發(fā)布于 :2024年07月23日 11:34:09

    40億,今年芯片領(lǐng)域最大規(guī)模融資誕生

    或許,遲到的IPO就要來(lái)了就在5月底,國(guó)家集成電路產(chǎn)業(yè)投資基金三期股份有限公司正式成立,規(guī)模為3440億元人民幣,是最大規(guī)模的芯片基金。該消息的傳出猶如一支強(qiáng)心劑,扎在了芯片領(lǐng)域各個(gè)企業(yè)心上。彼時(shí)
    的頭像 發(fā)表于 06-26 08:04 ?425次閱讀
    40億,<b class='flag-5'>今年</b>芯片領(lǐng)域最大規(guī)模融資誕生

    三星將于今年內(nèi)推出3D HBM芯片封裝服務(wù)

    近日,據(jù)韓國(guó)媒體報(bào)道,全球領(lǐng)先的半導(dǎo)體制造商三星即將在今年推出其高帶寬內(nèi)存(HBM)的3D封裝服務(wù)。這一重大舉措是三星在2024年三星代工論壇上正式宣布的,同時(shí)也得到了業(yè)內(nèi)消息人士的證實(shí)。
    的頭像 發(fā)表于 06-19 14:35 ?1275次閱讀

    車(chē)路云協(xié)同,這次它真的來(lái)了嗎?

    隨著科技的快速發(fā)展,“車(chē)路云協(xié)同”正在悄然發(fā)生變化。我們離科幻電影《機(jī)械公敵》中威爾?史密斯駕駛的汽車(chē)能準(zhǔn)確甄別交通狀況并調(diào)整行駛狀態(tài)的時(shí)代就要來(lái)了嗎?背景說(shuō)明“車(chē)路協(xié)同”已經(jīng)不是什么新鮮名詞
    的頭像 發(fā)表于 06-13 08:25 ?852次閱讀
    車(chē)路云協(xié)同,這次它<b class='flag-5'>真的</b><b class='flag-5'>來(lái)了</b>嗎?

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品