精通C語言能快速上手Rust嗎?

2021-09-30 19:43:11 字數 811 閱讀 6242

其實大部分程式語言都是相通的,熟練掌握一門程式語言,能幫助我們更好理解其他程式語言,學習週期也會縮短。rust語言底層細節與c沒有太多區別,而且有c語言的基礎,至少知道什麼是指標,什麼是棧,什麼是堆疊,就這已經超越相當一部分rust學習者了。所以我認為精通c語言能在一定程度上,幫助我們快速上手rust。

那麼再換個問法,精通c語言就一定能學會或者學好rust嗎?這個可真說不准。rust吸收了c++這類的底層語言和haskell這類的函式式程式語言的精華,以及構建工具和包管理器的精華。語言特性方面,標準庫的命名風格,各種指標,明顯有c++的烙印;而rust的型別系統顯然借鑑了haskell,還有閉包,模式匹配,都是函式式程式設計的風格,這也是rust比較難學的原因。既要關心底層,使用指標,借用,ownership, move, copy, borrow, borrow mut, lifetime這些概念,還有一些比較高階的語法比如泛型,非同步。

其實學習一件技能幾個概念糾纏在一起才是最煩人的。學習語言時,最好要抱著學習程式設計正規化的觀念。這樣在學習混合了多種正規化的語言時,你就可以比較容易辨認出哪種寫法、語法屬於哪種正規化,如庖丁解牛,脈絡清晰,毫不痛苦 。在haskell的背景下熟悉函式式程式設計,在c++的背景下熟悉底層程式設計的東西,在rust的背景下學習ownership, lifetime,把rust的語法特性分成三部分,就比較容易學習和掌握了。

而且rust中很多特性,在c程式設計中都有相應的指標實踐守則對應。比如理解了所謂的所有權語義,能幫助你思考c中free的時機;理解了生命週期,能幫助你明白如何防範野指標的威脅,兩者雖然在語法上大相徑庭,但在內部邏輯上一脈相承,兩者的學習是可以相輔相成的。理解了c中的指標,rust對你而言只多了一層trait的抽象。

快速上手Perl語言

由於公司需要用到perl,於是學習了一下 持續更新 perl,一種功能豐富的計算機程式語言,執行在超過100種計算機平台上,適用廣泛,從大型機到便攜裝置,從快速原型建立到大規模可擴充套件開發。perl 語言的應用範圍很廣,除cgi以外,perl被用於圖形程式設計 系統管理 網路程式設計 金融 生物以...

Swift語言簡介 快速上手

相關 swift語言學習文件英文版 swift 平行的指令碼語言.快速簡便的並行指令碼 在多核,集群,超級計算機和雲。swift swift 可以讓你編寫並行執行的指令碼普通程式的多個副本同時,使用這樣的語句。foreach protein in proteinlist 更多便是 誰在使用 swif...

Solidity 語言簡易入門,快速上手!

solidity語言是一種可以編寫智慧型合約的高階語言,當然編寫智慧型合約不止這一種,但是學習以太坊最好還是學會這一種語言就差不多了。在以太坊平台上,solidiy編寫的智慧型合約會執行在以太坊虛擬機器evm之上,變成位元組碼執行。新手入門建議使用官方ide開發工具remix。solidity語言中...