從Julia到Rust語言的學習 - miguelraz
我的第一個真正的程式語言是 Julia,我認識其他對 Rust 感興趣的 Julian。我為這些人寫了這篇文章,因為 Rust 和 Julia 是效能很好的陪練夥伴,但 Rust 有不同的心態和值得考慮的權衡。
這兩個演講促使我學習Rust:第一個·是卡羅爾·尼科爾斯、第二個是由Ryan埃伯哈特和阿明Nanavari演講。第一個討論了大約 70% 的大型科技公司的錯誤來自記憶體安全,而且火車過去沒有緊急剎車;第二個解釋了系統程式設計程式碼庫如何將資源所有權的不變性強加給編碼人員 ,但這種推理可能非常容易出錯、乏味和自動化。
這就是技術的意義!不必擔心前幾代的問題,因為我們找到了一種將這種想法轉移到機器上的方法。
Rust 上真正讓我受益匪淺的第三個演講是Alex Gaynor:銀行或學校網站可能因記憶體錯誤而崩潰已經夠糟糕的了,
但是一旦你考慮到即使是世界上最好的程式設計師(按薪水排序,粗略地)也無法交付安全程式碼,你開始有點絕望。然後你會聽說像sudo這樣久經考驗的庫,正如道德論據所說,如果你繼續交付一個損壞的工具,你很可能會讓易受傷害的人受到傷害。
Rust 的哲學是什麼?
兩種語言的故事
你可能知道Julia的起源故事-有一個用於科學計算的gajillion dsl,BLAS是一個爛攤子,但是為了效能需要透過名稱空間實現多型性,其他庫由於效能限制重新實現了一個窮人版本的multiple dispatch。如果您將一個聰明的JIT新增到多個dispatch功能中,那麼如果可以推斷出型別,您就可以輕鬆地獲得~C效能,幸運的是,您可以圍繞這個範例和這些權衡構建一個通用程式語言。最終,他們對語言進行了洗禮,以紀念一位真正的演算法女王。
Rust來自不同的地方:幾年前在Mozilla,Graydon Hoare和團隊厭倦了系統程式設計和C/C++工具鏈。他們正在開發一種語言,這種語言允許程式設計師在低階系統中高效工作,在沒有火箭筒的情況下利用併發效能,並在執行時避免錯誤。起初,他們有不同的系統來處理之前的問題,直到團隊拼湊出一個所有權系統,在編譯時有一個借閱檢查器 borrow checker,可以一舉兩得。最終,他們以真菌命名了這種語言。
Julian們厭倦了不可重用的程式碼、利基dsl和駭客多型性。他們以多重排程為核心設計特點,解決了這些問題。Rust擺平了C/C++雷區,並試圖保持所有不變性,所有權和借閱檢查器的概念使它們在編譯時知道這些錯誤,並且不受資料競爭的影響。
詳細點選標題
相關文章
- Rust 語言學習之旅Rust
- Rust 語言學習之旅(6)Rust
- Rust 語言學習之旅(3)Rust
- Rust 語言學習之旅(2)Rust
- Rust 語言學習之旅(7)Rust
- 從入門到掌握 - 系統學習shell語言
- 學習C語言的必備書籍-從入門到精通C語言
- 從菜鳥到專家的五步程式語言學習法
- Julia語言程式基礎
- julia語言編輯器
- 一個julia語言部落格
- Jon Gjengset認為學習Rust語言並不難GseRust
- Julia語言的一些資料
- Julia語言的一些測試
- 從高階語言到機器語言
- Rust語言Rust
- Julia1.0程式語言淺析
- C語言的學習C語言
- 這些情況會阻礙你學習Rust語言 - dystroyRust
- 學習Rust 基礎語法Rust
- 學習Rust 條件語句Rust
- rust學習四、控制語句Rust
- 為什麼Julia語言這麼棒?
- C語言學習方法,怎麼學習C語言?C語言
- NLP 與 NLU:從語言理解到語言處理
- 從錯誤處理看 Rust 的語言和 Go 語言的設計RustGo
- 非常適合GO語言新手學習的《Go語言從入門到實戰——簡明高效的Go語言實戰指南》課程——推薦分享Go
- java語言學習Java
- go語言學習Go
- 學習C語言的教材C語言
- Java從8到21的語言新特性Java
- 為什麼要學習 Julia
- 從初學者到程式設計高手,幾種必學的程式語言程式設計
- Web開發從前端、後端、程式語言、到框架的初學指南Web前端後端框架
- Rust語言4歲了 | rust-langRust
- 我的C語言學習之路C語言
- R語言的初級學習R語言
- Go語言學習——mapGo