Programming Rust: Fast, Safe Systems Development, 2/e (Paperback)

Blandy, Jim, Orendorff, Jason, Tindall, Leonora F. S.

買這商品的人也買了...

商品描述

Systems programming provides the foundation for the world's computation. Developing performance-sensitive code requires a programming language that puts programmers in control of how memory, processor time, and other system resources are used. The Rust systems programming language combines that control with a modern type system that catches broad classes of common mistakes, from memory management errors to interthread data races.

With this practical guide, experienced systems programmers will learn how to successfully bridge the gap between performance and safety using Rust. Jim Blandy, Jason Orendorff, and Leonora Tindall demonstrate how Rust's features put programmers in control over memory consumption and processor use by combining predictable performance with memory safety and trustworthy concurrency.

You'll learn:

  • Rust's fundamental data types and the core concepts of ownership and borrowing
  • Language basics including error handling, crates and modules, structs, and enums
  • How to write flexible, efficient code with traits and generics
  • Rust's key power tools: closures, iterators, and asynchronous programming
  • Collections, strings and text, input and output, concurrency, macros, unsafe code, and interfacing with foreign functions
     

This updated edition covers Rust 1.50 (February 2021).

商品描述(中文翻譯)

系統程式設計為世界的計算提供了基礎。開發對效能敏感的程式碼需要一種程式語言,讓程式設計師能夠控制記憶體、處理器時間和其他系統資源的使用方式。Rust系統程式語言結合了這種控制能力和現代類型系統,可以捕捉到從記憶體管理錯誤到執行緒間資料競爭等常見錯誤的廣泛類別。

在這本實用指南中,有經驗的系統程式設計師將學習如何使用Rust成功地在效能和安全性之間建立橋樑。Jim Blandy、Jason Orendorff和Leonora Tindall展示了Rust的特性如何結合可預測的效能、記憶體安全性和可信賴的並行性,讓程式設計師能夠控制記憶體消耗和處理器使用。

你將學到以下內容:
- Rust的基本資料類型和所有權和借用的核心概念
- 語言基礎,包括錯誤處理、套件和模組、結構和列舉
- 如何使用特性和泛型編寫靈活高效的程式碼
- Rust的關鍵工具:閉包、迭代器和非同步程式設計
- 集合、字串和文字、輸入和輸出、並行性、巨集、不安全程式碼和與外部函式的介面

這本更新的版本涵蓋了Rust 1.50(2021年2月)。

作者簡介

Jim Blandy has been programming since 1981, and writing Free software since 1990. He has been the maintainer of GNU Emacs and GNU Guile, and a maintainer of GDB, the GNU Debugger. He is one of the original designers of the Subversion version control system. Jim now works for Mozilla on Firefox's web developer tools.

Jason Orendorff hacks C++ for Mozilla, where he is module owner of the JavaScript engine that's in Firefox. He is an active member of the Nashville developer community and an occasional organizer of homegrown tech events. He is interested in grammar, baking, time travel, and helping people learn about complicated topics.

Leonora Tindall is a type system enthusiast and software engineer who uses Rust, Elixir, and other advanced languages to build robust and resilient systems software in high-impact areas like healthcare and data ownership. She works on a variety of open source projects, from genetic algorithms that evolve programs in strange languages to the Rust core libraries and crate ecosystem, and enjoys the experience of contributing to supportive and diverse community projects. In her free time, Leonora builds electronics for audio synthesis and is an avid radio hobbyist, and her love of hardware extends to her software engineering practice as well. She has built applications software for LoRa radios in Rust and Python, and uses software and DIY hardware to create experimental electronic music on a Eurorack synthesizer.

作者簡介(中文翻譯)

Jim Blandy自1981年開始編程,自1990年起開始撰寫自由軟件。他曾擔任GNU Emacs和GNU Guile的維護者,也是GNU Debugger(GDB)的維護者之一。他是Subversion版本控制系統的原始設計師之一。Jim現在在Mozilla為Firefox的網頁開發工具工作。

Jason Orendorff在Mozilla為C++進行開發,他是Firefox中JavaScript引擎的模塊負責人。他是納什維爾開發者社區的活躍成員,偶爾也會組織本地的技術活動。他對語法、烘焙、時間旅行和幫助人們學習複雜主題感興趣。

Leonora Tindall是一位類型系統愛好者和軟件工程師,她使用Rust、Elixir和其他高級語言來構建在醫療保健和數據擁有權等高影響領域中的強大和穩健的系統軟件。她參與了各種開源項目,從在奇怪的語言中演化程序的遺傳算法到Rust核心庫和crate生態系統。她喜歡參與支持性和多樣化的社區項目。在空閒時間,Leonora會構建用於音頻合成的電子設備,她是一位狂熱的無線電愛好者,她對硬件的熱愛也延伸到軟件工程實踐中。她使用Rust和Python為LoRa無線電構建應用軟件,並使用軟件和DIY硬件在Eurorack合成器上創作實驗性的電子音樂。