Fast, Safe Systems Development
Jim Blandy, Jason Orendorff, Leonora Tindall

#Rust
#programming
💻 برنامهنویسی سیستمی به زبان راست — ترکیب قدرت بالا با امنیت و دقت مثالزدنی
وقتی حرف از کدنویسی سطح پایین، مدیریت مستقیم حافظه، و زمان اجرای دقیق میزنیم، معمولاً اولین چیزی که به ذهن میرسه یه زبان مثل ++C هست.
اما راست (Rust) اومده تا نشون بده برنامهنویس سیستمی میتونه هم کد سریع بنویسه، هم خیالراحت از لحاظ ایمنی حافظه داشته باشه.
🔧 قراره چی یاد بگیری؟
تو این کتاب با یه رویکرد کاملاً عملی یاد میگیری چطور از ویژگیهای منحصربهفرد راست استفاده کنی:
📘 ساختار کتاب
🧠 نویسندهها
👨💻 جیم بلَندی
از قدیمیهای دنیای نرمافزار آزاد؛ کار کرده روی پروژههای سنگینی مثل GNU Emacs، GDB و یکی از سازندههای اصلی Subversion. الان توی شرکت Mozilla روی ابزارهای توسعهی فایرفاکس کار میکنه.
👨💻 جیسون اورندورف
مهندس ++C و یکی از آدمای کلیدی تیم جاوااسکریپت مرورگر فایرفاکس. عاشق آموزش، پخت نون و جامعهی برنامهنویسی نشویل.
👩💻 لئونورا تیندال
ورودی نسل جدید برنامهنویسای سیستمیه؛ با Rust و Elixir سیستمهای مقاوم میسازه برای حوزههایی مثل سلامت و مالکیت داده. سرگرمیهاش؟ سینتیسایزر، الکترونیک صوتی، و ترکیب Rust با فناوریهای رادیویی.
🧩 چرا این کتاب خاصه؟
این کتاب نه فقط آموزش Rust میده، بلکه دید تو رو از «برنامهنویسی سیستمی» باز میکنه.
میفهمی چهجور کدهایی پایهی سیستمعاملها، مرورگرها، دیتابیسها و حتی سختافزار هستن.
💬 نویسندهها خودشون گفتن که هدفشون این بوده کتابی بنویسن که کاش موقع یادگیری Rust خودشون در اختیار داشتن! یعنی هر فصل مثل یه راهنمای واقعی برنامهنویسه، نه یه مستند خشک.
⚡ جمعبندی فنی و خلاصه:
Rust زبانیه برای اونایی که از معنی واقعی «کنترل» توی کدنویسی خوششون میاد.
اگه دلت میخواد از محیط ناامن ++C مهاجرت کنی به یه زبان سریع، ایمن، و امروزی، این کتاب بهترین نقشهی راهه.
Systems programming provides the foundation for the world's computation. Writing 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 data races between threads.
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:
Table of Contents
Chapter 1. Systems Programmers Can Have Nice Things
Chapter 2. A Tour of Rust
Chapter 3. Fundamental Types
Chapter 4. Ownership and Moves
Chapter 5. References
Chapter 6. Expressions
Chapter 7. Error Handling
Chapter 8. Crates and Modules
Chapter 9. Structs
Chapter 10. Enums and Patterns
Chapter 11. Traits and Generics
Chapter 12. Operator Overloading
Chapter 13. Utility Traits
Chapter 14. Closures
Chapter 15. Iterators
Chapter 16. Collections
Chapter 17. Strings and Text
Chapter 18. Input and Output
Chapter 19. Concurrency
Chapter 20. Asynchronous Programming
Chapter 21. Macros
Chapter 22. Unsafe Code
Chapter 23. Foreign Functions
Rust is a language for systems programming.
This bears some explanation these days, as systems programming is unfamiliar to most working programmers. Yet it underlies everything we do.
You close your laptop. The operating system detects this, suspends all the running programs, turns off the screen, and puts the computer to sleep. Later, you open the laptop: the screen and other components are powered up again, and each program is able to pick up where it left off. We take this for granted. But systems programmers wrote a lot of code to make that happen.
In short, systems programming is resource-constrained programming. It is programming when every byte and every CPU cycle counts.
The amount of systems code involved in supporting a basic app is staggering.
This book will not teach you systems programming. In fact, this book covers many details of memory management that might seem unnecessarily abstruse at first, if you haven’t already done some systems programming on your own.
But if you are a seasoned systems programmer, you’ll find that Rust is something exceptional: a new tool that eliminates major, well-understood problems that have plagued a whole industry for decades.
Who Should Read This Book
If you’re already a systems programmer, and you’re ready for an alternative to C++, this book is for you. If you’re an experienced developer in any programming language, whether that’s C#, Java, Python, JavaScript, or something else, this book is for you too.
However, you don’t just need to learn Rust. To get the most out of the language, you also need to gain some experience with systems programming. We recommend reading this book while also implementing some systems programming side projects in Rust. Build something you’ve never built before, something that takes advantage of Rust’s speed, concurrency, and safety. The list of topics at the beginning of the book's preface should give you some ideas.
Why We Wrote This Book
We set out to write the book we wished we had when we started learning Rust. Our goal was to tackle the big, new concepts in Rust up front and head-on, presenting them clearly and in depth so as to minimize learning by trial and error.
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.









