Design and implement professional-level programs by leveraging modern data structures and algorithms in Rust
Key Features:
Improve your productivity by writing more simple and easy code in RustDiscover the functional and reactive implementations of traditional data structuresDelve into new domains of Rust, including WebAssembly, networking, and command-line tools
Book Description:
Rust is a powerful language with a rare combination of safety, speed, and zero-cost abstractions. This Learning Path is filled with clear and simple explanations of its features along with real-world examples, demonstrating how you can build robust, scalable, and reliable programs.
You’ll get started with an introduction to Rust data structures, algorithms, and essential language constructs. Next, you will understand how to store data using linked lists, arrays, stacks, and queues. You’ll also learn to implement sorting and searching algorithms, such as Brute Force algorithms, Greedy algorithms, Dynamic Programming, and Backtracking. As you progress, you’ll pick up on using Rust for systems programming, network programming, and the web. You’ll then move on to discover a variety of techniques, right from writing memory-safe code, to building idiomatic Rust libraries, and even advanced macros.
By the end of this Learning Path, you’ll be able to implement Rust for enterprise projects, writing better tests and documentation, designing for performance, and creating idiomatic Rust code.
This Learning Path includes content from the following Packt products:
Mastering Rust - Second Edition by Rahul Sharma and Vesa KaihlavirtaHands-On Data Structures and Algorithms with Rust by Claus Matzinger
What you will learn:
Design and implement complex data structures in RustCreate and use well-tested and reusable components with RustUnderstand the basics of multithreaded programming and advanced algorithm designExplore application profiling based on benchmarking and testingStudy and apply best practices and strategies in error handlingCreate efficient web applications with the Actix-web frameworkUse Diesel for type-safe database interactions in your web application
Who this book is for:
If you are already familiar with an imperative language and now want to progress from being a beginner to an intermediate-level Rust programmer, this Learning Path is for you. Developers who are already familiar with Rust and want to delve deeper into the essential data structures and algorithms in Rust will also find this Learning Path useful.
Rahul Sharma is passionately curious about computer science and programming. A believer in Mozilla’s vision of an Open Web, Rahul currently works at AtherEnergy where he builds a resilient cloud infrastructure for smart scooters. His interests include systems programming, real-time web technologies, compilers, and type theory. He is also an occasional contributor to the Rust language. He also contributes and mentors interns on the Servo project by Mozilla. Vesa Kaihlavirta has been programming since he was five, beginning with C64 Basic. His main professional goal in life is to increase awareness of programming languages and software quality in all industries that use the software. He's an Arch Linux Developer Fellow and has been working in the telecom and financial industry for a decade. Claus Matzinger is a software engineer with a very diverse background. After working in a small company maintaining code for embedded devices, he joined a large corporation to work on legacy Smalltalk applications. This led to a great interest in programming languages early on, and Claus became the CTO for a health games start-up based on Scala technology. Since then, Claus' roles have shifted toward customer-facing roles in the IoT database-technology start-up crate.io and, most recently, Microsoft. There, he hosts a podcast, writes code together with customers, and blogs about the solutions arising from these engagements. For more than 5 years, Claus has implemented software to help customers innovate, achieve, and maintain success.