/dev/reading
Category

Rust

10 books
Order by
View
Learn asynchronous programming by building working examples of futures, green threads, and runtimes
by Carl Fredrik Samson

Step into the world of asynchronous programming with confidence by conquering the challenges of unclear concepts with this hands-on guide. Using functional examples, this book simplifies the trickiest concepts, exploring goroutines, fibers, futures, and callbacks to help you navigate the vast Rust async ecosystem with ease.

You’ll start by building a solid foundation in asynchronous programming and explore diverse strategies for modeling program flow. The book then guides you through concepts like epoll, coroutines, green threads, and callbacks using practical examples. The final section focuses on Rust, examining futures, generators, and the reactor-executor pattern. You’ll apply your knowledge to create your own runtime, solidifying expertise in this dynamic domain. Throughout the book, you’ll not only gain proficiency in Rust's async features but also see how Rust models asynchronous program flow.

By the end of the book, you'll possess the knowledge and practical skills needed to actively contribute to the Rust async ecosystem.

What you will learn

  • Explore the essence of asynchronous program flow and its significance
  • Understand the difference between concurrency and parallelism
  • Gain insights into how computers and operating systems handle concurrent tasks
  • Uncover the mechanics of async/await
  • Understand Rust’s futures by implementing them yourself
  • Implement green threads from scratch to thoroughly understand them

Who this book is for

This book is for programmers who want to enhance their understanding of asynchronous programming, especially those experienced in VM’ed or interpreted languages like C#, Java, Python, JavaScript, and Go. If you work with C or C++ but have had limited exposure to asynchronous programming, this book serves as a resource to broaden your knowledge in this area. Although the examples are predominantly in Rust, the intricacies of Rust’s futures are covered in detail. So, anyone with a keen interest in learning Rust or with working knowledge of Rust will be able to get the most out of this book.

by Brenden Matthews

Get ready to code like a pro in Rust with insider techniques used by Rust veterans!

Code Like a Pro in Rust dives deep into memory management, asynchronous programming, and the core Rust skills that make you a Rust pro! Plus, you’ll find essential productivity techniques for Rust testing, tooling, and project management. You’ll soon be writing high-quality code that needs way less maintenance overhead.

In Code Like A Pro in Rust, you will learn:

  • Essential Rust tooling
  • Core Rust data structures
  • Memory management
  • Testing in Rust
  • Asynchronous programming for Rust
  • Optimized Rust
  • Rust project management

Code Like A Pro in Rust is a fast-track guide to building and delivering professional quality software in Rust. It skips the fluff and gets right to the heart of this powerful modern language. You’ll learn how to sidestep common Rust pitfalls and navigate quirks you might never have seen before—even if you’ve been programming for many years! Plus, discover timeless strategies for navigating the evolving Rust ecosystem and ensure your skills can easily adapt to future changes.

A Project-Based Primer for Writing Rust CLIs
by Ken Youens-Clark

For several consecutive years, Rust has been voted "most loved programming language" in Stack Overflow's annual developer survey. This open source systems programming language is now used for everything from game engines and operating systems to browser components and virtual reality simulation engines. But Rust is also an incredibly complex language with a notoriously difficult learning curve.

Rather than focusing on the language as a whole, this guide teaches Rust using a single small, complete, focused program in each chapter. Author Ken Youens-Clark shows you how to start, write, and test each of these programs to create a finished product. You'll learn how to handle errors in Rust, read and write files, and use regular expressions, Rust types, structs, and more.

Discover how to:

  • Use Rust's standard libraries and data types such as numbers, strings, vectors, structs, Options, and Results to create command-line programs
  • Write and test Rust programs and functions
  • Read and write files, including stdin, stdout, and stderr
  • Document and validate command-line arguments
  • Write programs that fail gracefully
  • Parse raw and delimited text manually, using regular expressions and Rust crates
  • Use and control randomness
by David MacLeod

One month. One hour a day. That’s all it takes to start writing Rust code!

Learn Rust in a Month of Lunches teaches you to write super fast and super safe Rust code through lessons you can fit in your lunch break. Crystal-clear explanations and focused, relevant examples make it accessible to anyone—even if you’re learning Rust as your first programming language.

By the time you’re done reading Learn Rust in a Month of Lunches you’ll be able to:

  • Build real software in Rust
  • Understand messages from the compiler and Clippy, Rust’s coding coach
  • Make informed decisions on the right types to use in any context
  • Make sense of the Rust standard library and its commonly used items
  • Use external Rust “crates” (libraries) for common tasks
  • Comment and build documentation for your Rust code
  • Work with crates that use async Rust
  • Write simple declarative macros
  • Explore test driven development in Rust

Learn Rust in a Month of Lunches is full of 24 easy-to-digest lessons that ease you into real Rust programming. You’ll learn essential Rust skills you can use for everything from system programming, to web applications, and games. By the time you’re done learning, you’ll know exactly what makes Rust unique—and be one of the thousands of developers who say it’s their best loved language!

Fast, Safe Systems Development
by Jim Blandy, Jason Orendorff and Leonora F. S. Tindall

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:

  • Rust's fundamental data types and the core concepts of ownership and borrowing
  • How to write flexible, efficient code with traits and generics
  • How to write fast, multithreaded code without data races
  • Rust's key power tools: closures, iterators, and asynchronous programming
  • Collections, strings and text, input and output, macros, unsafe code, and foreign function interfaces

This revised, updated edition covers the Rust 2021 Edition.

by Donis Marshall

Rust's exciting innovations have made it the most loved programming language in Stack Overflow's influential survey for five straight years--but its steep learning curve has made many other developers reluctant to dive in. Now, with a growing commitment to Rust from many of the world's leading development organizations, it's the perfect time to start--especially now that there's an up-to-date, accessible, example-rich book to guide you.

In Programming with Rust, long-time enterprise developer Donis Marshall has made Rust easier to understand than ever, with a guide expertly organized into short, bite-sized chapters that bring you up-to-speed fast. Written for developers at all levels, Marshall starts with the absolute basics, and thoroughly demystifies the Rust technical advances that make it so attractive for next-generation development. Everything's here, from types and assignments to ownership, lifetimes, traits, and crates. Marshall even offers indispensable expert advice for unit testing, handling unsafe code, interoperating with legacy code bases, and using Rust's increasingly robust tools.

  • Contains short, easy-to-consume chapters
  • Clearly illustrates innovative features such as lifetimes, ownerships, and patterns
  • Practical, focused, complete, and up-to-date
  • Written for newcomers and professional developers alike

More than just a new language, Rust represents a philosophical shift in how you code. In Programming with Rust, you'll master both the techniques and the mindset.

Systems programming concepts and techniques
by Tim McNamara

Rust in Action introduces the Rust programming language by exploring numerous systems programming concepts and techniques. You'll be learning Rust by delving into how computers work under the hood. You'll find yourself playing with persistent storage, memory, networking and even tinkering with CPU instructions. The book takes you through using Rust to extend other applications and teaches you tricks to write blindingly fast code. You'll also discover parallel and concurrent programming. Filled to the brim with real-life use cases and scenarios, you'll go beyond the Rust syntax and see what Rust has to offer in real-world use cases.

by Prabhu Eshwarla

Deliver fast, reliable, and maintainable applications by building backend servers, services, and frontends all in nothing but Rust.

In Rust Servers, Services, and Apps, you’ll learn:

  • Developing database-backed web services in Rust
  • Building and securing RESTful APIs
  • Writing server-side web applications in Rust
  • Measuring and benchmarking web service performance
  • Packaging and deploying web services
  • Full-stack Rust applications

The blazingly fast, safe, and efficient Rust language has been voted “most loved” for multiple consecutive years on the StackOverflow survey.

Rust Server, Services, and Apps shows you why! Inside, you’ll build web servers, RESTful services, server-rendered apps, and client frontends just using Rust. You’ll learn to write code with small and predictable resource footprints, and build high-performing applications with unmatched safety and reliability.

With warp, tokio, and reqwest
by Bastian Gruber

Create bulletproof, high-performance web apps and servers with Rust.

In Rust Web Development you will learn:

  • Handling the borrow checker in an asynchronous environment
  • Learning the ingredients of an asynchronous Rust stack
  • Creating web APIs and using JSON in Rust
  • Graceful error handling
  • Testing, tracing, logging, and debugging
  • Deploying Rust applications
  • Efficient database access

Rust Web Development is a pragmatic, hands-on guide to creating server-based web applications with Rust. If you’ve designed web servers using Java, NodeJS, or PHP, you’ll instantly fall in love with the performance and development experience Rust delivers. Hit the ground running! Author Bastian Gruber’s sage advice makes it easy to start tackling complex problems with Rust. You’ll learn how to work efficiently using pure Rust, along with important Rust libraries such as tokio for async runtimes, warp for web servers and APIs, and reqwest to run external HTTP requests.

by Steve Klabnik and Carol Nichols

The Rust Programming Language, 2nd Edition is the official guide to Rust 2021: an open source systems programming language that will help you write faster, more reliable software. Rust provides control of low-level details along with high-level ergonomics, allowing you to improve productivity and eliminate the hassle traditionally associated with low-level languages.

Klabnik and Nichols, alumni of the Rust Core Team, share their knowledge to help you get the most out of Rust’s features so that you can create robust and scalable programs. You’ll begin with basics like creating functions, choosing data types, and binding variables, then move on to more advanced concepts, such as:

  • Ownership and borrowing, lifetimes, generics, traits, and trait objects to communicate your program’s constraints to the compiler
  • Smart pointers and multithreading, and how ownership interacts with them to enable fearless concurrency
  • How to use Cargo, Rust’s built-in package manager, to build, document your code, and manage dependencies
  • The best ways to test, handle errors, refactor, and take advantage of expressive pattern matching

In addition to the countless code examples, you’ll find three chapters dedicated to building complete projects: a number-guessing game, a Rust implementation of a command line tool, and a multithreaded server.