微軟在GitHub上開放了Rust啟發的Project Verona程式語言

2020-12-22 新經網

微軟最近透露出它正在從流行的Rust程式語言中汲取一些想法來創建一個新的轟動,該項目以項目Verona的名義為「安全基礎結構編程」創建了一種新語言。

英國劍橋計算機實驗室的微軟研究員馬修·帕金森(Matthew Parkinson)在去年下半年的一次演講中首次詳細介紹了維羅納項目,並承諾微軟將儘快開源該項目。

 

Microsoft Research現在已在GitHub上跟蹤並開源了Project Verona,並提供了有關該項目的更多詳細信息,以及通過更好的內存管理,分區和「泛濫的沙箱」來構建更安全的系統的雄心。倫敦帝國學院的學者也為維​​羅納計劃提供資助。

正如帕金森解釋的那樣,維羅納計劃旨在幫助保護仍然不存在於Microsoft的許多舊代碼中的不安全語言(如C和C#)中的代碼,Microsoft不會浪費這些代碼,但希望提供更好的保護。

帕金森在會上說:「我們將運行一些C和C ++,這是我們不信任的東西。」 「我們將其放入一個盒子中,我們知道存在物體的這一區域,我們必須非常小心,但是有一系列事情正在發生,我們可以在那裡建立一些普遍的沙箱。因此可以是沙盒庫,我們可以將其嵌入沙盒Verona程序中。」

維羅納項目的GitHub頁面概述了該小組正在研究的一些高級問題,這些問題將在以後的同行評審文章中充實。問題包括:

如果我們設計的語言沒有並發突變,那麼我們可以構建可擴展的內存管理嗎?

可以在不犧牲內存管理的情況下使用線性區域消除每個對象線性的限制嗎?

語言級別的區域可以用來支持分隔嗎?

同樣,Rust並不是激發Verona項目靈感的唯一語言,該語言還借鑑了Cyclone(一種「 C的安全方言」) 和Pony的概念,Cyclone是Microsoft Research的主要貢獻者。

由帕金森撰寫的GitHub頁面強調,維羅納計劃不是產品,並且與微軟對C ++,C#和Rust的持續使用沒有關係。微軟去年透露,它正在嘗試使用Rust而不是C和C ++來編寫底層Windows組件。

它說:「維羅納項目是一個研究項目,不會影響公司的工程選擇。」

「維羅納項目團隊使用公司所有主要語言與人們聯繫在一起,並希望從他們的經驗中學習,因此我們可以研究重要的問題。」

此外,微軟將維羅納項目視為一種「研究程式語言」,並希望通過開放原始碼,可以吸引希望探索並發所有權概念的學術合作者。

帕金森還提供了維羅納計劃的目標,概念及其在系統編程中的適用範圍的更詳細的清單。

他寫道:「有了維羅納項目,我們將在系統編程領域開闢一個基礎設施編程領域,該領域具有重要的性能和可預測性要求,而無需對機器進行原始訪問。」

「在Verona項目中,我們認為我們的研究語言不適合實現Verona運行時本身。這顯然是該項目的目標。」

相關焦點

  • 微軟研究院開源程式語言Verona,借鑑Rust、Cyclone等特性
    機器之心報導作者:一鳴、Jamin近日,微軟研究院開源了一個名為 Verona 的項目。這是一個面向研究的程式語言,旨在解決內存管理和計算機安全方面的問題,並借鑑了 Rust 等的新特性。近日,微軟研究院開源了一個研究型的程式語言項目——Verona。Verona 語言是一個開源項目,微軟研究院希望通過這個項目幫助學界研究更好的內存管理方法。據悉,該項目吸收了 Rust、Cyclone 的一些特點。
  • 微軟正式開源受 Rust 啟發的新程式語言 Verona
    一個月前,微軟研究人員 Matthew Parkinson 曾提到:微軟正在開發基於 Rust 的新程式語言,該項目被命名為 Verona
  • 微軟解釋為什麼 Rust 是系統編程的最佳選擇
    上周,MSRC(微軟安全響應中心)透露出擁抱 Rust 的打算,隨後他們將這個話題擴展為一個系列,進一步闡述了使用安全的系統程式語言的的必要性,以及選擇 Rust 的原因。
  • Rust 語言新人入門指南
    如果你來自 Haskell/Ocaml 等函數式語言社區,你會有相當的親切感。對於有豐富 C++ 開發經驗的同學來說,上手可能相對比較容易。了解一般來說,要決定學習一門新語言之前,會先大體了解下這門語言的特點和目前的發展情況。
  • Rust 1.0 正式版發布,Mozilla 程式語言
    _@habnab.it>Aaron Turon <aturon@mozilla.com>Abhishek Chanda <abhishek@cloudscaling.com>Adolfo Ochagavía <aochagavia92@gmail.com>Alex Burka <durka42+github
  • 繼C/C+之後,微軟如何全面採用 Rust 的?
    從Windows、Office到Azure雲,微軟的所有核心產品都在它上面運行。由於C ++不是一種內存安全的語言,因此在其代碼庫中會彈出很多內存錯誤,並且需要花費大量時間來修復它們。 去年,Microsoft開始研究可以幫助解決其內存安全問題的替代程式語言。作為這些努力的結果,Microsoft已開始嘗試在某些情況下將Rust集成到其代碼庫中。
  • Rust 語言常用技巧匯集
    Rust是一種全新系統程式語言,Rust語言立足於編譯時安全,由於沒有其他語言GC附帶,Rust也是一門高性能語言,性能堪比C。最近幾年內,Rust被開發人員廣為採納,是好多年年度最受歡迎語言和開發者最想學習的語言。Rust是最有前途可以替代C/C++的語言之一。
  • Rust是最有前途的區塊鏈程式語言?
    各程式語言PK:Solidity、Python最易學,Rust難度最高對於『哪種語言最難學』這個問題,每個人都有自己的想法,衡量的標準也不太一樣,那如果按開發者頭髮濃密度的標準來看,那麼我們可初步地排個名
  • GitHub 熱點速覽 Vol.14:周獲 2k+ Vim³ 掀起三維編程風
    和前輩學技術:technology-talk 匯總 Java 生態圈常用技術框架、開源中間件,系統架構、資料庫、大公司架構案例、常用三方類庫、項目管理、線上問題排查、個人成長、思考等知識。GitHub 地址→https://github.com/aalansehaiyang/technology-talk
  • 為什麼選擇Rust?
    上圖右側部分顯示了並發性和內存安全相關的問題,這些問題根源上不可能發生在常規(非unsafe塊)Rust代碼中。所以只需要換成Rust,他們就可以杜絕這段時間內大約一半的bug。同時,緩衝區溢出是其中最危險的bug,因為它們常常導致「密鑰洩露」、拒絕服務和遠程代碼執行漏洞。
  • 2020 年 6 月程式語言排行榜,Rust 第一次進入榜單前 20.
    TIOBE 2020 年 6 月份的程式語言排行榜已經公布。Rust 之前排名約在 30 位左右,5 月份開始上升到第 21 位,本月直接進入了榜單前 20,這也是它首次進入榜單前 20。在上周 Stack Overflow 公布了 2020 開發者調查報告中,Rust 在開發者最喜愛的程式語言中排行榜首:Rust 相關學習資料:https://www.runoob.com/rust/rust-tutorial.html6 月份跟 5 月份比較沒有很大的變化,C 語言本月還是排在第一,R 語言從第 10 位上升到第 9 位,與 SQL 對調了位置。
  • Rust 語言 2019 調查報告發布:它為什麼流行不起來?
    從微軟探索將 Rust 作為 C 和 C++ 的安全替代方案開始,Rust 吸引了越來越多的目光:內核維護者表示願意接受用 Rust 開發 Linux 驅動;AWS 也伸出橄欖枝,宣布贊助 Rust;微軟更進一步,在今年年初開發並開源了受 Rust 啟發的新程式語言 Verona;最近,蘋果也站出來擁抱它,將 C 代碼移植到 Rust。
  • 都說Rust程式語言難學,那我們Ubuntu系統裡安裝下試試
    近日,程式語言Rust的官方在全球做了一個調查,然後發布了 2020 年 Rust 調查報告。這個又引發大家一陣對Rust的討論。這個曾經很小眾的程式語言,發布以後近些年越來越受開發者和企業的認可。在大型項目底層開發等領域C/C++「一統江湖」的年代,Rust能媲美這兩種底層的強大的語言,實力著實不可小覷。安全、性能、並發等特性的優勢,讓使用過的開發者都讚不絕口,眾口一詞給出肯定的態度。不過與之相應的是,Rust程式語言的學習難度。這個廣受好評的程式語言,其學習門檻之高也廣受大家「詬病」。的確,即便是比較資深的程式設計師,上手Rust都有一定的難度。
  • 【Rust日報】 2019-08-28:Rust異步代碼的優勢:相比於其他語言更加容易調試
    在Rust中使用Tree-sitter解析器生成器#TreeSitterTreeSitter是 GitHub 團隊的解析器項目, 目的在於給 GitHub 及 Atom 編輯器提供高效以及跨語言的語法解析支持, 採用 GLR 算法, 支持消歧, 從錯誤中恢復, 增量解析等功能。TreeSitter支持多種語言,且支持增量解析,它的出現降低了自己實現語言的門檻。
  • 【Rust日報】 Rust 2021-穩定性
    文章連結,https://jackh726.github.io/rust/2020/10/01/rust-2021.htmlRust如何使我們監控30k/min的API調用在Bearer,我們是一個多語言的工程師團隊。無論是交流的語言,還是變成的語言。我們的技術棧是由Node.js,Ruby,Elixir,以及我們代理庫支持的所有語言之外的其他語言寫的服務組成。
  • 想要改變世界的 Rust 語言
    一門程式語言就像一個小宇宙,語言中的各種語法概念就像一顆顆星辰。對於初學者來說,看這些語法概念與看星羅棋布時產生的迷惑是相似的。幸虧程式語言是由人類創造的,程式語言的作者可以被找到,程式語言的源碼也可以被看到,甚至一些好的程式語言還會為你準備好非常豐富的文檔,供你參閱學習。通過這些信息我們可以了解到:一門語言緣何誕生?它想解決什麼問題?它遵循什麼樣的設計哲學?
  • GitHub 熱點速覽 Vol.21:Go 新手起手式,學就完事兒了
    #GitHub Trending# Go 新手起手式:learngo 收錄了 1000+ Go 相關的例子、練習和測驗,可幫你快速習得 Go 編程之法。GitHub 地址→https://github.com/inancgumus/learngo2.
  • 【Rust日報】2020-05-24 Rash, Rocket, Mun, Casbin
    https://github.com/pando85/rashRash是一種受Ansible工具啟發的Declarative Shell腳本語言。Declarative vs imperative:Imperative: entrypoint.sh:#!
  • 初學心得 | Rust學習筆記
    整個大約兩個多月學習過程中,曾經碰到過很多的問題,在網上閱讀過很多的文章尋找答案,也和有經驗的開發者進行過微信交流,總體感覺 Rust 還是一個正在發展中的語言,不同版本之間有一些差異,特別是Rust並沒有提供一個非常完整 runtime(也可以理解成是開放的,提供了各種選項),異步編程模式還有 tokio 和 async-std 這樣的陣營分裂,網上相關的資料也是魚龍混雜,對於初學者而言
  • 篇一 | 想全面了解 Rust 語言 ? 你想知道的都在這裡
    InfoQ 在 2012 年 專訪過 Graydon (https://www.infoq.cn/article/2012/10/interview-rust )。  在 Graydon 身邊,還有一群優秀的人:以 Niko 為核心的語言核心團隊的人。可以在Rust官網 Governance 頁面看到 Rust 語言各個團隊的成員信息:https://www.rust-lang.org/governance 。在這個頁面上,你也可以看到曾經為 Rust 效力的前隊員。然而,Graydon 卻沒在其中,但社區的人們是不會忘記他的。