Ruby 3 將於聖誕節發布,松本行弘分享程式語言的困境

2020-12-23 開源中國

Ruby 程式語言的創建者和首席設計師 Yukihiro Matsumoto(松本行弘)近期在某演講中分享了 Ruby 3 的一些情況。

原本 Ruby 3 計劃在東京奧運會前夜發布,但奧運會被推遲到 2021 年,所以一些核心開發者想知道 Ruby 3 是否也會順理成章地推遲一年發布。討論後最終還是決定今年發布,並且現在定於 12 月 25 日。

「我們決定今年發布 Ruby 3,因為作為開源社區,我們必須前進。我們必須繼續前進,開源社區通常不能停止發展,否則就是等死……」

松本表示,過去四五年一直在談論 Ruby 3 的未來,但是一直也沒見發布,不過今年是真的會在 12 月 25 日聖誕節推出 Ruby 3。在聖誕節發布 Ruby 升級是社區的一項傳統。

接著松本分享了所有程式語言面臨的困境:升級與不升級的矛盾。在應用運行穩定的基礎上,如果大改語言,那麼就會帶來艱難升級的危險,Python、PHP 與 ECMAScript 都是很好的例子,它們的社區花了許多年才能接受這些變化。

「使用 Python 3,社區花了十多年的時間;PHP 6 甚至被取消了,直接從 PHP 5 開始創建 PHP7;EMCAScript 4 也被取消了。」

松本解釋說,如果不做出改變,人們可能會離開社區,而如果升級到更高版本則會帶來太多痛苦,他們也可能會離開社區。

這種進退兩難的情況可能是每個程式語言面臨的困境,不過松本覺得這種時候更應該向前:「因此,正如我所說,設計一種語言很困難,但是無論如何我們都必須向前邁進,以創造未來。」

同時,在這種情況下,保持兼容性是很重要的。松本為 Ruby 3 明確了三個具體的目標:快速、並發與準確。「使 Ruby 更快,並使 Ruby 程式設計師更高效」。

為了使 Ruby 更快,開發團隊將從改進其即時編譯器(JIT)開始;為了實現並發,將避免使用其它語言的解決方案,諸如 ECSMAScript 7 添加了帶有關鍵字 async 和 await 的控制機制。

Ruby 3 會改為實現其期待已久的異步 i/o fiber,作為控制異步線程的更好的方法。fiber 之間的上下文切換速度很快,因此性能會更高。

讓 Ruby 更加準確的方法是優化早期檢查錯誤,主要靠類型分析器實現,它將生成 Ruby 籤名,Ruby 3 將為其核心庫提供類型籤名,可用於類型檢查以及增強將來的 IDE。

松本還介紹了 Ruby 3 將帶來的三個新語法特性。第一個是便捷的模式匹配語法:

第二個新特性允許將值分配給等號右側的變量,「這在某些情況下非常方便。」

第三個新特性是為塊參數編號:

不過松本也解釋,Ruby 3 語法上不會有太大變化,穩定性很重要,他們將專注於改進 Ruby 的現有支持工具,例如用於語言伺服器協議的 Solargraph、用於靜態類型檢查的 Sorbet,以及 Rubocop 的代碼 linter。

最後松本提及目前他正在考慮的「較小的 Ruby」這一瘋狂的想法,「我正在考慮使用較小的 Ruby 子集,該子集更簡單並且更嚴格,並希望更快或更容易進行優化。」這一子集是向下兼容的,也就是說,它可以運行在所有當前版本的 Ruby 中。

相關焦點

  • 十年再出發,RubyConf China 2019大會即將舉辦!
    今年RubyConf China也將回到它的起源地上海,與各位技術大牛一起交流、探討Ruby的經驗。2019 年8月24 - 25日,RubyConf China 2019大會將在上海楊浦區小南國花園酒店舉行,Ruby語言開創者、Ruby之父松本行弘「Matz」也在時隔七年之後攜新書《松本行弘:程式語言的設計與實現》再次來到RubyConf China的講臺!
  • c 語言的創始人 - CSDN
    不久前,這位傳奇人物在推特公布了自己從 Dropbox 公司離職的消息,正式宣布退休,味落從此之後,IT領域期待他新發展,但小編相信只要Python語言存在一天,那麼「江湖」就永遠有著他的傳說。 3.Ruby之父Ruby之父松本行弘來自日本,是一眾編程大牛之中鮮見的東方面孔。1993,年僅28歲的松本行弘設計出Ruby語言。他的初衷是開發一種更人性化的程式語言,松本行弘認為以往人們在開發程式語言時過於看重"計算機",而忽視了"人"的作用,過分強調運行速度。松本行弘提倡的一種理念是機器只是工具而非人,真正的主人應該是"人"。
  • 過去50年間,十大熱門語言及發明者大盤點
    軟體領域有許多程式語言,每年還湧現出越來越的新語言。新發布的語言有Scala、Kotlin、Go和Closure,但歷史證明,只有少數語言能存活下來,其中一些語言對軟體領域的發展做出了巨大貢獻。
  • 六個最酷的 Ruby on Rails 項目
    Ruby on Rails(簡稱Rails)是松本行弘Ruby編寫的純面向對象程式語言,目的是讓程序開發人員專注於編程最有趣最有創造力的部分。如今Rails已經是最火(薪水最高)的web應用開發語言之一,而且Rails還是開源的,擁有4200個開原始碼貢獻者,因此Rails在不斷進化完善中。就流行而言,Ruby on Rails目前在HotFrameworks排名第三。Ruby on Rails為什麼會這麼火?下面我們列舉用Rails開發的六個很酷的項目,也許你會對Rails的強大有一個直觀的感受。
  • RubyMine 7.0.3 發布,Ruby 開發工具
    RubyMine 7.0.3 發布,此版本修復了一些命令行啟動器問題,詳情請看修複列表,可以使用「Check for Updates…」來下載或者更新到現有的版本,又或者直接下載 RubyMine
  • 華為將發布國產程式語言,打破國外壟斷!
    來自網絡 近日,傳華為即將發布國產自主程式語言——「倉頡」,軟體擺脫美國控制。 美國在程式語言方面具有絕對的優勢,美國能禁止程式語言或編譯器對我國授權嗎? 唯一能約束一種程式語言的就是專利,但C語言等目前並不受任何專利約束。
  • 世界上第一個文言文程式語言誕生,創造它的是一個大學生
    ▲Lingdong Huang上個月,Huang利用畢業後最終一周的時間來實現這種程式語言的聚焦效果。世界之上第一種文言文程式語言正式誕生。雖然文言文的誕生只有一個月,但它吸引了很多人用它來編寫程序。據黃奇帆介紹,目前用文言文編寫的10個程序比較少見,而且大多是別人編寫的。
  • 外媒Dice:Ruby、Objective-C 等 5 種程式語言可能會衰落
    根據 Dice 報導,並不是所有的程式語言都永遠存在,因為新一代的開發人員會接受他們覺得更容易使用的其他語言和框架。為了確定哪種程式語言可能在中長期內註定失敗,他們查看了TIOBE和RedMonk的受歡迎程度排名,以及Dice自己的職務公告資料庫。列出以下語言:
  • Ruby 3發布,為何性能能提升3倍|應用程式|內存|線程|調用|編譯器...
    Ruby 2於2013年發布,我們使用Ruby 2.x已有7年之久,我們一直在等待Ruby 3的發布。  終於,等待結束了。我們終於在聖誕期間迎來了Ruby 3.0.0,它為這種高級通用程式語言提供了更高的性能和其他功能,這不啻給我們最好的聖誕節禮物。現在是時候拆開禮品盒了,看看我們得到的所有Ruby 3功能。
  • TIOBE 8 月程式語言:C、Java 差距拉大,R 語言盛行
    整理 | 屠敏程式語言社區 TIOBE 最新發布了 8 月程式語言排行榜。相比上個月,本月 TIOBE 指數整個體變化並不大。C 語言依然保持強勁的增長勢頭,與第二名 Java 之間差距逐月增大,從上個月相差 1.35% 的份額逐步增長到 2.55% 的差額。
  • 粵語程式語言
    這是一位年僅16歲的高中生開發的程式語言源碼地址:https://gitee.com/mirrors/cantonese
  • 浙江八年級新增Python編程課程 Python語言特點名稱來源介紹
    浙江八年級新增Python編程課程 Python語言特點名稱來源介紹 浙江八年級新增Python編程課程是怎麼回事?
  • Zig 0.6.0 發布,想要替換 C 的程式語言
    Zig 0.6.0 已發布,這是一門通用程式語言,專為穩定性、可維護性和性能而設計,追求替代 C 語言在系統編程上的最佳地位。
  • 清華畢業生開發嵌入Python的程式語言,99行代碼實現《冰雪奇緣》
    因為他用99行代碼,實現了《冰雪奇緣》的特效。據悉,當時艾莎施展魔法的特效鏡頭,儘管僅僅呈現短暫的一秒鐘,但卻需要高性能計算機,運算一周的時間。《冰雪奇緣》雖然沒有真人出演,預算卻高達1.5億美元,每一秒的鏡頭都是經費在燃燒。一般人想用電腦做出CG特效簡直不可想像。
  • 經5年開發,性能是前主要版本3倍的Ruby 3正式登場
    特別是性能,在Ruby 3有了大幅度的增長,Ruby的主要設計人松本行弘(Matz)在之前就為核心開發團隊設立目標,希望Ruby 3的速度可以是Ruby 2的3倍,並將這個計劃稱為Ruby3x3,而現在Ruby 3完成了這個目標。
  • 現代程式語言哪家強?2020年你或許應該了解這7門程式語言
    另外,你還可以學習一門受歡迎程度正在上升的語言。我對主流程式語言非常尊重。但在這裡,我列出現代程式語言,這些語言可以提高你的工作效率,使你成為一個更好的開發人員。此外,我還將涉及更廣泛的領域:系統編程,應用程式開發,網絡開發,科學計算。「現代程式語言」這個詞是模稜兩可的。許多人認為像 Python、JavaScript 這樣的語言是現代程式語言。
  • Zig 0.7.1 發布,想要替換 C 的程式語言
    Zig 0.7.1 已發布,這是一個 bugfix 版本,共計修復了 69 個 bug。
  • Zig 0.7.0 發布,想要替換 C 的程式語言
    Zig 0.7.0 已發布,這是一門通用程式語言,專為穩定性、可維護性和性能而設計,追求替代 C 語言在系統編程上的最佳地位。
  • 5 月程式語言排行榜:C 重回第一,今年程式語言名人堂冠軍還會是它...
    需要注意的是,TIOBE索引並不是關於最好的程式語言,也不是大多數代碼都是用哪種語言編寫的。該索引可用於檢查您的編程技能是否仍然是最新的,或者在開始構建新的軟體系統時,對應採用何種程式語言作出戰略決策。
  • 北大青鳥建大IT學院:JAVA為什麼能成為世界第一大程式語言?
    Java就是那個常常在TIOBE程式語言排行榜上霸佔第一名的軟體程式語言,是當今世界上第一大程式語言。那麼Java為什麼能成為世界第一大程式語言呢?1、Java的誕生Java誕生於20世紀90年代。1995年5月23日,Sun公司在全球開發者大會上正式發布Java程式語言,以及一款叫做HotJava的瀏覽器。這一天,也標誌著網際網路的發展進入了一個全新的時期,網際網路不再只能傳遞文字和圖片,也能傳遞代碼,這些代碼通過網線,被傳播到世界上任何一臺計算機上運行,使得用戶可以在瀏覽器中看到更加絢爛多彩的效果。