Rust 語言風靡學術界 - OSCHINA - 中文開源技術交流社區

2020-12-16 開源中國

AWS 將 Rust 編譯器團隊負責人收入麾下的新聞讓開發者們再次聚焦於這門兼具安全性與高性能的程式語言。近日,著名科學期刊 Nature 刊登了一篇文章,表明 Rust 語言也正在成為學術界最受歡迎的程式語言之一。

2015 年,德國生物信息學家 Johannes Köster 曾用 Python 編寫了一個流行的工作流管理器 Snakemake。但是現在他正在籌備一個新項目,該項目需要將數百萬個基因序列讀數與數十億個遺傳鹼基進行比較,以鑑定基因組變體。而 Python 無法提供該項目需要的計算性能。因此,他開始尋求一種新的程式語言。

Köster 認為,他需要的語言既要能提供 Python 的「表達能力」,也要能提供 C/C ++ 的運行效率。用他自己的話來說,這是「一種符合人類使用習慣,同時又具備高性能的語言」。最終他選用的語言就是 Rust 。

Rust 最初由 Mozilla 工程師 Graydon Hoare 於 2006 年創建。Rust 融合了 C++ 語言的性能與其他高級語言更友好的語法,對代碼安全性問題提供了額外的關注。目前,Rust 已經得到了微軟、蘋果、AWS、Mozilla、Linux 內核社區等組織機構的青睞,並連續 5 年被評為 Stack Overflow 「最受歡迎的」 程式語言。GitHub 上的數據也顯示,Rust 是 2019 年平臺上增長第二快的語言,比去年同期增長了 235% 。

而在學術研究界,科學家們也正在轉向使用 Rust。包括 Köster 在內的很多研究學者開始在需要大規模運算的科研項目中採用 Rust 語言。

今年 5 月,位於美國麻薩諸塞州波士頓 Dana-Farber 癌症研究所的生物信息學家 Heng Li 在計算生物學任務中測試了多種語言,其中涉及解析 570 萬個序列記錄的大規模計算任務。測試結果顯示,Rust 力壓 C 語言成為效率最高的程式語言。「當我們要使用多個線程編寫高性能程序,同時又需要它非常快速且節省內存,那麼 Rust 是理想的選擇。」 Li 說。

加利福尼亞大學戴維斯分校的生物信息學家 Luiz Irber 使用 Rust 來對名為 Sourmash 的工具進行重新編碼,該工具可以進行基因組搜索和分類分析,從而簡化研究流程。

文章還指出,Rust 語言目前唯一的缺點就是學習曲線陡峭。位於美國加利福尼亞州拉霍亞的化學信息軟體公司 Metamolecular 的創始人 Richard Apodaca 說,他花了大約六個月的時間才精通該語言。

作為補償,Rust 社區一直致力於提升用戶體驗,例如編譯器會生成特別有用的錯誤提示,甚至會突出顯示有問題的代碼並建議開發者如何修復它。此外,Rust 社區還提供了豐富的文檔和在線幫助,包括一個受歡迎的在線參考書,用以給開發者提供解決常見問題的方法。

延伸閱讀

加大支持力度,AWS 計劃招聘更多 Rust 開發人員

Linux 內核對 Rust 的支持有新進展,雙方進行深入探討

Chrome 團隊正探索 Rust 與 C++ 的互操作性

蘋果擁抱 Rust,正在將 C 代碼移植到 Rust

微軟正在開發基於 Rust 的安全程式語言

相關焦點

  • Go 語言 2019 調查報告發布 - OSCHINA - 中文開源技術交流社區
    Go 的使用仍集中在技術公司,但它同時也被用于越來越多的行業,例如金融和媒體。 Go 最常見的用途仍然是編寫 API/RPC 服務和 CLI 工具。 模塊在 Go 生態系統中的使用率很高,與此同時,圍繞軟體包管理的一些問題仍然存在。 有待改進的重點領域包括 debug、模塊和雲服務的體驗。
  • 開放源碼是開源軟體嗎? - OSCHINA - 中文開源技術交流社區
    許可協議必須技術中立(License Must Be Technology-Neutral):意即許可協議不得限制為電子格式才有效,若是紙本的許可協議也應視為有效。所以,與此類似的,在中文裡,我們可以認為:「開放原始碼」是一個動詞+一個名詞。而「開源」則是一個特定的詞彙。作為動詞,我們說將某某軟體開源,是一種行為。作為形容詞,我們稱某某軟體是一個開源(的)軟體,不僅僅是指我們能夠獲取到他的原始碼。
  • Rust 語言新人入門指南
    如果你來自 Haskell/Ocaml 等函數式語言社區,你會有相當的親切感。對於有豐富 C++ 開發經驗的同學來說,上手可能相對比較容易。了解一般來說,要決定學習一門新語言之前,會先大體了解下這門語言的特點和目前的發展情況。
  • 歷史上最偉大的 12 位程式設計師 - OSCHINA - 中文開源技術交流社區
    1990年,與Patrick Naughton和Mike Sheridan等人合作「綠色計劃」,後來發展一套語言叫做「Oak」,後改名為Java。1994年底,James Gosling在矽谷召開的「技術、教育和設計大會」上展示Java程式。2000年,Java成為世界上最流行的電腦語言。
  • Greenplum 一體機硬體配置正式開源 - OSCHINA - 中文開源技術交流...
    2015年,Greenplum資料庫宣布開源。
  • 使用Java 構建微服務 - OSCHINA - 中文開源技術交流社區
    基於微服務的架構給架構師和開發者帶來了新的挑戰,然而,隨著語言的升級和工具數量的增加,開發者和架構師完全有能力應對這樣的挑戰。Java也不例外,本文探討了在Java生態系統內構建微服務的不同方法。介紹本文不會探討微服務是好還是壞,也不會建議你應該事先使用微服務設計你的app,或者當他們在monolith應用出現時,就應該提取這些服務。
  • Ubuntu 風雨歷程記 - OSCHINA - 中文開源技術交流社區
    對我來說,Ubuntu是我進入Linux和養成開源思考方式的大門。Ubuntu教會我:電腦並不僅僅是windows、蘋果系統,還有比你從前了解的更好的選擇。讓我們一起回憶下,看看Ubuntu這些年怎麼走過來的吧,一直到今天漂亮,友好,超棒Linux發行版本。
  • Taro 3 支持 React Native - OSCHINA - 中文開源技術交流社區
    Taro 3 發布後暫不支持 React-Native 平臺,於是我們向社區提交了一份實現草案,希望把 58 在 React-Native 上的技術積累分享到社區,同時也從社區對 Taro 的共建上獲益。
  • Zenoss 宣布支持 Ceph 存儲監控 - OSCHINA - 中文開源技術交流社區
    本文由 Ceph中國社區-孫琦 翻譯,Devin校稿 英文出處:Zenoss Inc 歡迎加入 翻譯小組業界領先的IT監控和分析軟體,Zenoss Inc.,3月7宣布了Zenoss 5平臺的新增功能,增加了對
  • Deno 1.6 發布 - OSCHINA - 中文開源技術交流社區
    除了 FFmpeg,其他許多知名開源項目,諸如 TinyCC、QEMU、JSLinux 以及比較新的 QuickJS 均出自 Fabrice Bellard 之手,詳情查看 https://bellard.org/。 FFmpeg 單詞中...
  • 小諾官方文檔再次增強 - OSCHINA - 中文開源技術交流社區
    開源版本Java腳手架(快速開發平臺)層出不窮,作為一塊項目利器+私活利器,開發途中難免會遇到一些問題,這時大部分小夥伴也會想到說是去看官方文檔。
  • JavaScript 開發者年度調查報告 - OSCHINA - 中文開源技術交流社區
    這是 Javascript 社區一個偉大的時刻,我對未來的事情感到無比激動。I didn’t anticipate such high interest, and next time I』ll make some improvements to the format.
  • 發力太空領域,IBM 開源兩個新項目 - OSCHINA - 中文開源技術交流...
    IBM 宣布了兩個新的開源項目,旨在解決日益嚴重的「太空垃圾」問題,並幫助初創企業構建衛星星座應用。
  • AWS 聘用 Rust 編譯器聯合創始人,大企為何都愛 Rust?
    因為喜歡,AWS已經開始贊助Rust項目,在官方博文中,AWS雲與開源主管Matt Assay總結了這家雲計算巨頭偏愛Rust原因,以及使用這門程式語言的方式。他說道,Rust最讓人興奮的一點是,是它讓基礎設施變得「無聊」。這不是一件壞事,畢竟沒人願意自己的設備過分「激動」,安全穩定才是他們希望看到的。
  • ZStack 3.8.0 發布 - OSCHINA - 中文開源技術交流社區
    >向規則集中添加規則,源IP和目的IP支持批量填寫固定IP位址/IP範圍/CIDR(一次性最多允許填寫10條IP條目) 添加規則可選擇是否立即生效 UI默認語言與當前用戶瀏覽器語言一致 全局設置新增「禁止同一用戶多會話連接開關」 計算規格/雲盤規格高級參數支持SharedBlock主存儲類型 動態資源調度DRS(技術預覽
  • Elasticsearch 7.9.3 發布 - OSCHINA - 中文開源技術交流社區
    除了 FFmpeg,其他許多知名開源項目,諸如 TinyCC、QEMU、JSLinux 以及比較新的 QuickJS 均出自 Fabrice Bellard 之手,詳情查看 https://bellard.org/。 FFmpeg 單詞中...
  • 加大支持力度,AWS 計劃招聘更多 Rust 開發人員
    作為其計劃的一部分,AWS 宣布打算在未來幾個月內僱傭更多的 Rust 開發人員,以支持這種年輕語言背後的開源社區。
  • Fotoxx 10.8 發布,照片處理軟體 - OSCHINA - 中文開源技術交流社區
    Several other interface improvements and bugfixes were madeFotoxx 是一款 Linux 平臺下用於處理照片的一個開源的自由軟體,雖然不及大家熟知的「光影魔術手」的功能那麼強大,但對於照片的日常上的簡單處理還是足夠了。可以進行簡單的去 紅眼,補光,模糊化,角度調整,裁減,形變,等等常用的照片處理。
  • Rust 語言常用技巧匯集
    Rust是一種全新系統程式語言,Rust語言立足於編譯時安全,由於沒有其他語言GC附帶,Rust也是一門高性能語言,性能堪比C。最近幾年內,Rust被開發人員廣為採納,是好多年年度最受歡迎語言和開發者最想學習的語言。Rust是最有前途可以替代C/C++的語言之一。
  • Go 1.16 首個 Beta 版本發布 - OSCHINA - 中文開源技術交流社區
    除了 FFmpeg,其他許多知名開源項目,諸如 TinyCC、QEMU、JSLinux 以及比較新的 QuickJS 均出自 Fabrice Bellard 之手,詳情查看 https://bellard.org/。 FFmpeg 單詞中...