Linux中國

為什麼 Linux 用戶應該試一試 Rust

Rust 是一種相當年輕和現代的編程語言,具有許多使其非常靈活而及其安全的功能。數據顯示它正在變得非常受歡迎,連續三年(201620172018)在 Stack Overflow 開發者調查中獲得「最受喜愛的編程語言」的第一名。

Rust 也是開源語言的一種,它具有一系列特殊的功能,使得它可以適應許多不同的編程項目。 它最初源於 2006 年 Mozilla 員工的個人項目,幾年後(2009 年)被 Mozilla 選為特別項目,然後在 2010 年宣布供公眾使用。

Rust 程序運行速度極快,可防止段錯誤,並能保證線程安全。這些屬性使該語言極大地吸引了專註於應用程序安全性的開發人員。Rust 也是一種非常易讀的語言,可用於從簡單程序到非常大而複雜的項目。

Rust 優點:

  • 內存安全 —— Rust 不會受到懸空指針、緩衝區溢出或其他與內存相關的錯誤的影響。它提供內存安全,無回收垃圾。
  • 通用 —— Rust 是適用於任何類型編程的語言
  • 快速 —— Rust 在性能上與 C / C++ 相當,但具有更好的安全功能。
  • 高效 —— Rust 是為了便於並發編程而構建的。
  • 面向項目 —— Rust 具有內置的依賴關係和構建管理系統 Cargo。
  • 得到很好的支持 —— Rust 有一個令人印象深刻的支持社區

Rust 還強制執行 RAII( 資源獲取初始化 Resource Acquisition Is Initialization )。這意味著當一個對象超出範圍時,將調用其析構函數並釋放其資源,從而提供防止資源泄漏的屏蔽。它提供了功能抽象和一個很棒的類型系統,並具有速度和數學健全性。

簡而言之,Rust 是一種令人印象深刻的系統編程語言,具有其它大多數語言所缺乏的功能,使其成為 C、C++ 和 Objective-C 等多年來一直被使用的語言的有力競爭者。

安裝 Rust

安裝 Rust 是一個相當簡單的過程。

$ curl https://sh.rustup.rs -sSf | sh

安裝 Rust 後,使用 rustc --versionwhich 命令顯示版本信息。

$ which rustc
rustc 1.27.2 (58cc626de 2018-07-18)
$ rustc --version
rustc 1.27.2 (58cc626de 2018-07-18)

Rust 入門

Rust 即使是最簡單的代碼也與你之前使用過的語言輸入的完全不同。

$ cat hello.rs
fn main() {
    // Print a greeting
    println!("Hello, world!");
}

在這些行中,我們正在設置一個函數(main),添加一個描述該函數的注釋,並使用 println 語句來創建輸出。您可以使用下面顯示的命令編譯然後運行程序。

$ rustc hello.rs
$ ./hello
Hello, world!

另外,你也可以創建一個「項目」(通常僅用於比這個更複雜的程序!)來保持代碼的有序性。

$ mkdir ~/projects
$ cd ~/projects
$ mkdir hello_world
$ cd hello_world

請注意,即使是簡單的程序,一旦編譯,就會變成相當大的可執行文件。

$ ./hello
Hello, world!
$ ls -l hello*
-rwxrwxr-x 1 shs shs 5486784 Sep 23 19:02 hello     <== executable
-rw-rw-r-- 1 shs shs 68 Sep 23 15:25 hello.rs

當然,這只是一個開始且傳統的「Hello, world!」 程序。 Rust 語言具有一系列可幫助你快速進入高級編程技能的功能。

學習 Rust

No Starch Press

Steve Klabnik 和 Carol Nichols 的《Rust 編程語言》 (2018)一書提供了學習 Rust 的最佳方法之一。 這本書由核心開發團隊的兩名成員撰寫,可從 No Starch Press 出版社獲得紙制書或者從 rust-lang.org 獲得電子書。它已經成為 Rust 開發者社區中的參考書。

在所涉及的眾多主題中,你將了解這些高級主題:

  • 所有權和 borrowing
  • 安全保障
  • 測試和錯誤處理
  • 智能指針和多線程
  • 高級模式匹配
  • 使用 Cargo(內置包管理器)
  • 使用 Rust 的高級編譯器

目錄

  • 前言(Nicholas Matsakis 和 Aaron Turon 編寫)
  • 致謝
  • 介紹
  • 第 1 章:新手入門
  • 第 2 章:猜謎遊戲
  • 第 3 章:通用編程概念
  • 第 4 章:了解所有權
  • 第 5 章:結構
  • 第 6 章:枚舉和模式匹配
  • 第 7 章:模塊
  • 第 8 章:常見集合
  • 第 9 章:錯誤處理
  • 第 10 章:通用類型、特徵和生命周期
  • 第 11 章:測試
  • 第 12 章:輸入/輸出項目
  • 第 13 章:迭代器和閉包
  • 第 14 章:關於貨物和 Crates.io 的更多信息
  • 第 15 章:智能指針
  • 第 16 章:並發
  • 第 17 章:Rust 是面向對象的嗎?
  • 第 18 章:模式
  • 第 19 章:關於生命周期的更多信息
  • 第 20 章:高級類型系統功能
  • 附錄 A:關鍵字
  • 附錄 B:運算符和符號
  • 附錄 C:可衍生的特徵
  • 附錄 D:宏
  • 索引

Rust 編程語言》 將你從基本安裝和語言語法帶到複雜的主題,例如模塊、錯誤處理、crates(與其他語言中的 「library」 或「package」同義),模塊(允許你將你的代碼分配到 crate 本身),生命周期等。

可能最重要的是,本書可以讓您從基本的編程技巧轉向構建和編譯複雜、安全且非常有用的程序。

結束

如果你已經準備好用一種非常值得花時間和精力學習並且越來越受歡迎的語言進行一些嚴肅的編程,那麼 Rust 是一個不錯的選擇!

加入 FacebookLinkedIn 上的 Network World 社區,評論最重要的話題。

via: https://www.networkworld.com/article/3308162/linux/why-you-should-try-rust.html

作者:Sandra Henry-Stocker 選題:lujun9972 譯者:way-ww 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國