Abhishek Kumar
Published: 2022-07-04
Total Pages: 329
Get eBook
Grasp the fundamentals of programming in Rust and put your knowledge to use. KEY FEATURES ● Includes the basics of Rust, its advanced features, and how to get started with coding in Rust. ● Numerous projects that improve coding, concept fluency, and real-world experience. ● Every part of Rust is introduced and explained in detail, along with how to use it. DESCRIPTION Rust is a sophisticated systems programming language for speed, memory safety, and parallelism. This book gives you a fast introduction to Rust so that you may get started with low-level system programming and developing web applications, network services, and embedded programmes. The book begins with instructions on setting up the Rust environment, developing a "hello world" programme, and getting started with cargo, the Rust package manager and the build tool. The book is a crash course, although it covers fundamental programming principles like variables and mutability, data types, comments, and control flow. Very precisely, topics such as ownership, borrowing, structs, enums, and other collections are covered. Error handling, memory management, and concurrency are well-demonstrated using practical projects. The book explains how to construct automated tests, write multithreaded applications, and utilise common data structures without difficulty. The book concludes with several hands-on projects, including creating a CLI application, a web app, a binary image classifier, and an embedded programme. After reading this book, you will have a thorough understanding of the principles of Rust programming and be able to produce idiomatic Rust code for your projects, as well as improved tests and documentation. WHAT YOU WILL LEARN ● Learn Rust's Cargo, fundamental concepts, collections, generic data types, iterators, and closures. ● Learn to write and experience the working of memory-safe programs. ● Implement and practice various data structures and algorithms. ● Get familiar with Rust module systems such as packages, crates, modules, and paths. ● Work with error handling, code testing, and working of concurrency capability. WHO THIS BOOK IS FOR This book is intended for software developers and system programmers interested in Rust as a C/C++ alternative. This book is also available to students interested in learning systems programming using Rust. The book assumes you have prior knowledge of basic programming concepts or any other programming language. TABLE OF CONTENTS 1. Setup and Installation of Rust 2. General Programming Concepts 3. Ownership and Memory Management 4. Structs, Enums and Collections 5. Organising your code 6. Error Handling 7. Generics and Traits 8. Testing your code 9. Iterators and Closures 10. Smart Pointers 11. Concurrency 12. Object-Oriented features 13. Implementing Data Structures – Linked List, Trees, Hash Table, and Graph 14. Rust for Windows developers 15. Rust for Android 16. Project 1 – Building a CLI Application 17. Project 2 – Running Rust from a Web Browser 18. Project 3 – Embedded Rust Hello World 19. Project 4 – Building a Binary Image Classifier using Neural Networks