歡迎光臨
每天分享高質量文章

為什麼 Linux 使用者應該試一試 Rust | Linux 中國

在 Linux 系統上安裝 Rust 程式語言可能是你近年來所做的最有價值的事情之一。
— Sandra Henry-stocker


致謝
編譯自 | 
https://www.networkworld.com/article/3308162/linux/why-you-should-try-rust.html
 
 作者 | Sandra Henry-stocker
 譯者 | way-ww ??共計翻譯:4.0 篇 貢獻時間:29 天

在 Linux 系統上安裝 Rust 程式語言可能是你近年來所做的最有價值的事情之一。

Rust 是一種相當年輕和現代的程式語言,具有許多使其非常靈活而及其安全的功能。資料顯示它正在變得非常受歡迎,連續三年(2016[1]2017[2] 和 2018[3])在 Stack Overflow 開發者調查中獲得“最受喜愛的程式語言”的第一名。

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

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

Rust 優點:

◈ 記憶體安全 —— Rust 不會受到懸空指標、緩衝區上限溢位或其他與記憶體相關的錯誤的影響。它提供記憶體安全,無回收垃圾。
◈ 通用 —— Rust 是適用於任何型別程式設計的語言
◈ 快速 —— Rust 在效能上與 C / C++ 相當,但具有更好的安全功能。
◈ 高效 —— Rust 是為了便於併發程式設計而構建的。
◈ 面向專案 —— Rust 具有內建的依賴關係和構建管理系統 Cargo。
◈ 得到很好的支援 —— Rust 有一個令人印象深刻的支援社群[4]

Rust 還強制執行 RAII(資源獲取初始化Resource Acquisition Is Initialization)。這意味著當一個物件超出範圍時,將呼叫其解構式並釋放其資源,從而提供防止資源洩漏的遮蔽。它提供了功能抽象和一個很棒的型別系統[5],並具有速度和數學健全性。

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

安裝 Rust

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

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

安裝 Rust 後,使用 rustc --version 或 which 命令顯示版本資訊。

  1. $ which rustc

  2. rustc 1.27.2 (58cc626de 2018-07-18)

  3. $ rustc --version

  4. rustc 1.27.2 (58cc626de 2018-07-18)

Rust 入門

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

  1. $ cat hello.rs

  2. fn main() {

  3.    // Print a greeting

  4.    println!("Hello, world!");

  5. }

在這些行中,我們正在設定一個函式(main),新增一個描述該函式的註釋,並使用 println 陳述句來建立輸出。您可以使用下麵顯示的命令編譯然後執行程式。

  1. $ rustc hello.rs

  2. $ ./hello

  3. Hello, world!

另外,你也可以建立一個“專案”(通常僅用於比這個更複雜的程式!)來保持程式碼的有序性。

  1. $ mkdir ~/projects

  2. $ cd ~/projects

  3. $ mkdir hello_world

  4. $ cd hello_world

請註意,即使是簡單的程式,一旦編譯,就會變成相當大的可執行檔案。

  1. $ ./hello

  2. Hello, world!

  3. $ ls -l hello*

  4. -rwxrwxr-x 1 shs shs 5486784 Sep 23 19:02 hello     <== executable

  5. -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 程式語言[6]》 (2018)一書提供了學習 Rust 的最佳方法之一。 這本書由核心開發團隊的兩名成員撰寫,可從 No Starch Press[6] 出版社獲得紙制書或者從 rust-lang.org[7] 獲得電子書。它已經成為 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 程式語言[6]》 將你從基本安裝和語言語法帶到複雜的主題,例如模組、錯誤處理、crates(與其他語言中的 “library” 或“package”同義),模組(允許你將你的程式碼分配到 crate 本身),生命週期等。

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

結束

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

加入 Facebook[8] 和 LinkedIn[9] 上的 Network World 社群,評論最重要的話題。


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

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

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


Rust 程式語言[6]》 似乎並未在中國翻譯出版,因此如果你對 Rust 感興趣的話,可以看看這本:

贊(0)

分享創造快樂