The Rust Programming Language Covers Rust 2018 Download Ebook PDF Epub Online

Author : Steve Klabnik
Carol Nichols
Publisher : No Starch Press
Release : 2019-09-03
Page : 560
Category : Computers
ISBN 13 : 1718500459
Description :


The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018. The Rust Programming Language is the official book on Rust: an open source systems programming language that helps you write faster, more reliable software. Rust offers control over low-level details (such as memory usage) in combination with high-level ergonomics, eliminating the hassle traditionally associated with low-level languages. The authors of The Rust Programming Language, members of the Rust Core Team, share their knowledge and experience to show you how to take full advantage of Rust's features--from installation to creating robust and scalable programs. You'll begin with basics like creating functions, choosing data types, and binding variables and then move on to more advanced concepts, such as: • Ownership and borrowing, lifetimes, and traits • Using Rust's memory safety guarantees to build fast, safe programs • Testing, error handling, and effective refactoring • Generics, smart pointers, multithreading, trait objects, and advanced pattern matching • Using Cargo, Rust's built-in package manager, to build, test, and document your code and manage dependencies • How best to use Rust's advanced compiler with compiler-led programming techniques You'll find plenty of code examples throughout the book, as well as three chapters dedicated to building complete projects to test your learning: a number guessing game, a Rust implementation of a command line tool, and a multithreaded server. New to this edition: An extended section on Rust macros, an expanded chapter on modules, and appendixes on Rust development tools and editions.


Author : Steve Klabnik
Carol Nichols
Publisher : No Starch Press
Release : 2019-08-06
Page : 560
Category : Computers
ISBN 13 : 1718500440
Description :


The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018. The Rust Programming Language is the official, definitive guide to Rust, a hugely popular, community-supported programming language. This is the second edition of the improved version of the free online Rust book, so well-loved in the Rust community that it is simply referred to as "the Book". Programmers love Rust because it allows them to write powerful code efficiently, without the risk of crashes and errors common in languages like C and C++. This book will show readers how to use Rust's robust type system to keep programs memory-safe and speedy, and make the most of the Cargo package manager that brings the pieces of a program together. The reader will learn all about Rust's ownership rules, which lie at the heart of Rust's reliability and crash-resistant compiling. The Rust Programming Language covers everything from basic concepts like variable bindings, control flow, functions, and error handling, to more advanced topics, such as crates, generics, concurrency, and the nitty gritty of Rust's type system. With improved organization, hands-on features, and a more tutorial-oriented style, this version offers a vast improvement over the original. The second edition also provides an entirely new chapter on macros and an expanded chapter on crates, two key aspects of Rust that make it so popular. Readers will also find extra appendices on Rust development tools and Rust versions.


Author : Steve Klabnik
Carol Nichols
Publisher : No Starch Press
Release : 2018
Page : 519
Category : COMPUTERS
ISBN 13 : 1593278284
Description :


The Rust Programming Language is the official, definitive guide to Rust, a hugely popular, community-supported programming language. The reader will learn all about Rust's ownership rules, which lie at the heart of Rust's reliability and crash-resistant compiling. The Rust Programming Language covers everything from basic concepts like variable bindings, control flow, functions, and error handling, to more advanced topics, such as crates, generics, concurrency, and the nitty gritty of Rust's type system.


Author : Jim Blandy
Jason Orendorff
Publisher : "O'Reilly Media, Inc."
Release : 2017-11-21
Page : 622
Category : Computers
ISBN 13 : 1491927232
Description :


Rust is a new systems programming language that combines the performance and low-level control of C and C++ with memory safety and thread safety. Rust’s modern, flexible types ensure your program is free of null pointer dereferences, double frees, dangling pointers, and similar bugs, all at compile time, without runtime overhead. In multi-threaded code, Rust catches data races at compile time, making concurrency much easier to use. Written by two experienced systems programmers, this book explains how Rust manages to bridge the gap between performance and safety, and how you can take advantage of it. Topics include: How Rust represents values in memory (with diagrams) Complete explanations of ownership, moves, borrows, and lifetimes Cargo, rustdoc, unit tests, and how to publish your code on crates.io, Rust’s public package repository High-level features like generic code, closures, collections, and iterators that make Rust productive and flexible Concurrency in Rust: threads, mutexes, channels, and atomics, all much safer to use than in C or C++ Unsafe code, and how to preserve the integrity of ordinary code that uses it Extended examples illustrating how pieces of the language fit together


Author : Rahul Sharma
Vesa Kaihlavirta
Publisher : Packt Publishing Ltd
Release : 2019-05-22
Page : 698
Category : Computers
ISBN 13 : 1838826386
Description :


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 Rust Discover the functional and reactive implementations of traditional data structures Delve 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 Kaihlavirta Hands-On Data Structures and Algorithms with Rust by Claus Matzinger What you will learn Design and implement complex data structures in Rust Create and use well-tested and reusable components with Rust Understand the basics of multithreaded programming and advanced algorithm design Explore application profiling based on benchmarking and testing Study and apply best practices and strategies in error handling Create efficient web applications with the Actix-web framework Use 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.


Author : Claus Matzinger
Publisher : Packt Publishing Ltd
Release : 2019-01-25
Page : 316
Category : Computers
ISBN 13 : 1788991494
Description :


Hands-On Data Structures and Algorithms with Rust will help you in upgrading your earlier knowledge of Rust so that you shift to a confident developer by implementing the algorithms in a practical environment. This would be an essential reference guide for end-user/reader to understand the fundamental techniques of Rust. This guide will cover ...


Author : Guillaume Gomez
Antoni Boucher
Publisher : Packt Publishing Ltd
Release : 2018-01-11
Page : 454
Category : Computers
ISBN 13 : 1788470303
Description :


Discover the world of Rust programming through real-world examples Key Features Implement various features of Rust to build blazingly fast applications Learn to build GUI applications using Gtk-rs Explore the multi-threading aspect of Rust to tackle problems in concurrency and in distributed environments Book Description Rust is an open source, safe, concurrent, practical language created by Mozilla. It runs blazingly fast, prevents segfaults, and guarantees safety. This book gets you started with essential software development by guiding you through the different aspects of Rust programming. With this approach, you can bridge the gap between learning and implementing immediately. Beginning with an introduction to Rust, you’ll learn the basic aspects such as its syntax, data types, functions, generics, control flows, and more. After this, you’ll jump straight into building your first project, a Tetris game. Next you’ll build a graphical music player and work with fast, reliable networking software using Tokio, the scalable and productive asynchronous IO Rust library. Over the course of this book, you’ll explore various features of Rust Programming including its SDL features, event loop, File I/O, and the famous GTK+ widget toolkit. Through these projects, you’ll see how well Rust performs in terms of concurrency—including parallelism, reliability, improved performance, generics, macros, and thread safety. We’ll also cover some asynchronous and reactive programming aspects of Rust. By the end of the book, you’ll be comfortable building various real-world applications in Rust. What you will learn Compile and run the Rust projects using the Cargo-Rust Package manager Use Rust-SDL features such as the event loop, windows, infinite loops, pattern matching, and more Create a graphical interface using Gtk-rs and Rust-SDL Incorporate concurrency mechanism and multi-threading along with thread safety and locks Implement the FTP protocol using an Asynchronous I/O stack with the Tokio library Who this book is for This book is for software developers interested in system level and application programming who are looking for a quick entry into using Rust and understanding the core features of the Rust Programming. It’s assumed that you have a basic understanding of Java, C#, Ruby, Python, or JavaScript.


Author : Claus Matzinger
Publisher : Packt Publishing Ltd
Release : 2019-10-18
Page : 444
Category : Computers
ISBN 13 : 1789531748
Description :


Practical solutions to overcome challenges in creating console and web applications and working with systems-level and embedded code, network programming, deep neural networks, and much more. Key Features Work through recipes featuring advanced concepts such as concurrency, unsafe code, and macros to migrate your codebase to the Rust programming language Learn how to run machine learning models with Rust Explore error handling, macros, and modularization to write maintainable code Book Description Rust 2018, Rust's first major milestone since version 1.0, brings more advancement in the Rust language. The Rust Programming Cookbook is a practical guide to help you overcome challenges when writing Rust code. This Rust book covers recipes for configuring Rust for different environments and architectural designs, and provides solutions to practical problems. It will also take you through Rust's core concepts, enabling you to create efficient, high-performance applications that use features such as zero-cost abstractions and improved memory management. As you progress, you'll delve into more advanced topics, including channels and actors, for building scalable, production-grade applications, and even get to grips with error handling, macros, and modularization to write maintainable code. You will then learn how to overcome common roadblocks when using Rust for systems programming, IoT, web development, and network programming. Finally, you'll discover what Rust 2018 has to offer for embedded programmers. By the end of the book, you'll have learned how to build fast and safe applications and services using Rust. What you will learn Understand how Rust provides unique solutions to solve system programming language problems Grasp the core concepts of Rust to develop fast and safe applications Explore the possibility of integrating Rust units into existing applications for improved efficiency Discover how to achieve better parallelism and security with Rust Write Python extensions in Rust Compile external assembly files and use the Foreign Function Interface (FFI) Build web applications and services using Rust for high performance Who this book is for The Rust cookbook is for software developers looking to enhance their knowledge of Rust and leverage its features using modern programming practices. Familiarity with Rust language is expected to get the most out of this book.


Author : Carlo Milanesi
Publisher : Apress
Release : 2018-03-22
Page : 376
Category : Computers
ISBN 13 : 1484234685
Description :


Learn to program with Rust in an easy, step-by-step manner on Unix, Linux shell, macOS and the Windows command line. As you read this book, you’ll build on the knowledge you gained in previous chapters and see what Rust has to offer. Beginning Rust starts with the basics of Rust, including how to name objects, control execution flow, and handle primitive types. You’ll see how to do arithmetic, allocate memory, use iterators, and handle input/output. Once you have mastered these core skills, you’ll work on handling errors and using the object-oriented features of Rust to build robust Rust applications in no time. Only a basic knowledge of programming is required, preferably in C or C++. To understand this book, it's enough to know what integers and floating-point numbers are, and to distinguish identifiers from string literals. After reading this book, you'll be ready to build Rust applications. What You'll Learn Get started programming with Rust Understand heterogeneous data structures and data sequences Define functions, generic functions, structs, and more Work with closures, changeable strings, ranges and slices Use traits and learn about lifetimes Who This Book Is For Those who are new to Rust and who have at least some prior experience with programming in general: some C/C++ is recommended particularly.


Author : Andrew Johnson
Publisher : Packt Publishing Ltd
Release : 2018-05-31
Page : 249
Category : Computers
ISBN 13 : 1788831586
Description :


Explore the support Rust offers for creating functional applications in Rust. Learn about various design patterns, implementing concurrency, metaprogramming, and so on in the process Key Features Learn generics, organization, and design patterns in functional programming Modularize your applications and make them highly reusable and testable using functional design patterns Get familiar with complex concepts such as metaprogramming, concurrency, and immutability Book Description Functional programming allows developers to divide programs into smaller, reusable components that ease the creation, testing, and maintenance of software as a whole. Combined with the power of Rust, you can develop robust and scalable applications that fulfill modern day software requirements. This book will help you discover all the Rust features that can be used to build software in a functional way. We begin with a brief comparison of the functional and object-oriented approach to different problems and patterns. We then quickly look at the patterns of control flow, data the abstractions of these unique to functional programming. The next part covers how to create functional apps in Rust; mutability and ownership, which are exclusive to Rust, are also discussed. Pure functions are examined next and you'll master closures, their various types, and currying. We also look at implementing concurrency through functional design principles and metaprogramming using macros. Finally, we look at best practices for debugging and optimization. By the end of the book, you will be familiar with the functional approach of programming and will be able to use these techniques on a daily basis. What you will learn How Rust supports the use of basic functional programming principles Use functional programming to handle concurrency with elegance Read and interpret complex type signatures for types and functions Implement powerful abstractions using meta programming in Rust Create quality code formulaically using Rust's functional design patterns Master Rust's complex ownership mechanisms particularly for mutability Who this book is for This book is for Rust developers who are comfortable with the language and now want to improve their coding abilities by learning advanced functional techniques to enhance their skillset and create robust and testable apps.


Author : Denis Kolodin
Publisher : Packt Publishing Ltd
Release : 2019-01-31
Page : 520
Category : Computers
ISBN 13 : 1789341981
Description :


A comprehensive guide in developing and deploying high performance microservices with Rust Key Features Start your microservices journey and get a broader perspective on microservices development using RUST 2018, Build, deploy, and test microservices using AWS Explore advanced techniques for developing microservices such as actor model, Requests Routing, and threads Book Description Microservice architecture is sweeping the world as the de facto pattern for building web-based applications. Rust is a language particularly well-suited for building microservices. It is a new system programming language that offers a practical and safe alternative to C. This book describes web development using the Rust programming language and will get you up and running with modern web frameworks and crates with examples of RESTful microservices creation. You will deep dive into Reactive programming, and asynchronous programming, and split your web application into a set of concurrent actors. The book provides several HTTP-handling examples with manageable memory allocations. You will walk through stateless high-performance microservices, which are ideally suitable for computation or caching tasks, and look at stateful microservices, which are filled with persistent data and database interactions. As we move along, you will learn how to use Rust macros to describe business or protocol entities of our application and compile them into native structs, which will be performed at full speed with the help of the server's CPU. Finally, you will be taken through examples of how to test and debug microservices and pack them into a tiny monolithic binary or put them into a container and deploy them to modern cloud platforms such as AWS. What you will learn Get acquainted with leveraging Rust web programming Get to grips with various Rust crates, such as hyper, Tokio, and Actix Explore RESTful microservices with Rust Understand how to pack Rust code to a container using Docker Familiarize yourself with Reactive microservices Deploy your microservices to modern cloud platforms such as AWS Who this book is for This book is for developers who have basic knowledge of RUST, and want to learn how to build, test, scale, and manage RUST microservices. No prior experience of writing microservices in RUST is assumed.


Author : Carlo Milanesi
Publisher : Packt Publishing Ltd
Release : 2020-06-19
Page : 404
Category : Computers
ISBN 13 : 1789343879
Description :


Build projects on exciting topics like game development, virtual reality, web assembly, emulators, GUI, and Linux/kernel development. By the end of the book, you will know how to choose the right framework or library for your needs.


Author : Kevin Hoffman
Publisher : Pragmatic Bookshelf
Release : 2019-05-31
Page : 220
Category : Computers
ISBN 13 : 9781680506365
Description :


WebAssembly fulfills the long-awaited promise of web technologies: fast code, type-safe at compile time, execution in the browser, on embedded devices, or anywhere else. Rust delivers the power of C in a language that strictly enforces type safety. Combine both languages and you can write for the web like never before! Learn how to integrate with JavaScript, run code on platforms other than the browser, and take a step into IoT. Discover the easy way to build cross-platform applications without sacrificing power, and change the way you write code for the web. WebAssembly is more than just a revolutionary new technology. It's reshaping how we build applications for the web and beyond. Where technologies like ActiveX and Flash have failed, you can now write code in whatever language you prefer and compile to WebAssembly for fast, type-safe code that runs in the browser, on mobile devices, embedded devices, and more. Combining WebAssembly's portable, high-performance modules with Rust's safety and power is a perfect development combination. Learn how WebAssembly's stack machine architecture works, install low-level wasm tools, and discover the dark art of writing raw wast code. Build on that foundation and learn how to compile WebAssembly modules from Rust by implementing the logic for a checkers game. Create wasm modules in Rust to interoperate with JavaScript in many compelling ways. Apply your new skills to the world of non-web hosts, and create everything from an app running on a Raspberry Pi that controls a lighting system, to a fully-functioning online multiplayer game engine where developers upload their own arena-bound WebAssembly combat modules. Get started with WebAssembly today, and change the way you think about the web. What You Need: You'll need a Linux, Mac, or Windows workstation with an Internet connection. You'll need an up-to-date web browser that supports WebAssembly. To work with the sample code, you can use your favorite text editor or IDE. The book will guide you through installing the Rust and WebAssembly tools needed for each chapter.


Author : Rahul Sharma
Vesa Kaihlavirta
Publisher : Packt Publishing Ltd
Release : 2019-01-31
Page : 554
Category : Computers
ISBN 13 : 1789341183
Description :


Mastering Rust, Second Edition covers a comprehensive list of topics that will help you gain deeper insights into the language. It will allow you how to create high performing applications effortlessly.


Author : Daniel Arbuckle
Publisher : Packt Publishing Ltd
Release : 2018-10-30
Page : 180
Category : Computers
ISBN 13 : 1789610613
Description :


Get familiar with writing programs in the trending new systems programming language that brings together the powerful performance of low-level languages with the advanced features like thread safety in multi-threaded code Key Features Learn the semantics of Rust, which can be significantly different from other programming languages Understand clearly how to work with the Rust compiler which strictly enforces rules that may not be obvious Examples and insights beyond the Rust documentation Book Description Rust is an emerging programming language applicable to areas such as embedded programming, network programming, system programming, and web development. This book will take you from the basics of Rust to a point where your code compiles and does what you intend it to do! This book starts with an introduction to Rust and how to get set for programming, including the rustup and cargo tools for managing a Rust installation and development workflow. Then you'll learn about the fundamentals of structuring a Rust program, such as functions, mutability, data structures, implementing behavior for types, and many more. You will also learn about concepts that Rust handles differently from most other languages. After understanding the Basics of Rust programming, you will learn about the core ideas, such as variable ownership, scope, lifetime, and borrowing. After these key ideas, you will explore making decisions in Rust based on data types by learning about match and if let expressions. After that, you'll work with different data types in Rust, and learn about memory management and smart pointers. What you will learn Install Rust and write your first program with it Understand ownership in Rust Handle different data types Make decisions by pattern matching Use smart pointers Use generic types and type specialization Write code that works with many data types Tap into the standard library Who this book is for This book is for people who are new to Rust, either as their first programming language or coming to it from somewhere else. Familiarity with computer programming in any other language will be helpful in getting the best out of this book.


Author : Abhishek Chanda
Publisher : Packt Publishing Ltd
Release : 2018-02-27
Page : 278
Category : Computers
ISBN 13 : 1788621719
Description :


Learn to write servers and network clients using Rust’s low-level socket classes with this guide Key Features Build a solid foundation in Rust while also mastering important network programming details Leverage the power of a number of available libraries to perform network operations in Rust Develop a fully functional web server to gain the skills you need, fast Book Description Rust is low-level enough to provide fine-grained control over memory while providing safety through compile-time validation. This makes it uniquely suitable for writing low-level networking applications. This book is divided into three main parts that will take you on an exciting journey of building a fully functional web server. The book starts with a solid introduction to Rust and essential networking concepts. This will lay a foundation for, and set the tone of, the entire book. In the second part, we will take an in-depth look at using Rust for networking software. From client-server networking using sockets to IPv4/v6, DNS, TCP, UDP, you will also learn about serializing and deserializing data using serde. The book shows how to communicate with REST servers over HTTP. The final part of the book discusses asynchronous network programming using the Tokio stack. Given the importance of security for modern systems, you will see how Rust supports common primitives such as TLS and public-key cryptography. After reading this book, you will be more than confident enough to use Rust to build effective networking software What you will learn Appreciate why networking is important in implementing distributed systems Write a non-asynchronous echo server over TCP that talks to a client over a network Parse JSON and binary data using parser combinators such as nom Write an HTTP client that talks to the server using reqwest Modify an existing Rust HTTTP server and add SSL to it Master asynchronous programming support in Rust Use external packages in a Rust project Who this book is for This book is for software developers who want to write networking software with Rust. A basic familiarity with networking concepts is assumed. Beginner-level knowledge of Rust will help but is not necessary.


Author : Shing Lyu
Publisher : Apress
Release : 2020-02-27
Page : 257
Category : Computers
ISBN 13 : 1484255992
Description :


Go beyond the basics and build complete applications using the Rust programming language. The applications in this book include a high-performance web client, a microcontroller (for a robot, for example), a game, an app that runs on Android, and an application that incorporates AI and machine learning. Each chapter will be organized in the following format: what this kind of application looks like; requirements and user stories of our example program; an introduction to the Rust libraries used; the actual implementation of the example program, including common pitfalls and their solutions; and a brief comparison of libraries for building each application, if there is no clear winner. Practical Rust Projects will open your eyes to the world of practical applications of Rust. After reading the book, you will be able to apply your Rust knowledge to build your own projects. What You Will Learn Write Rust code that runs on microcontrollers Build a 2D game Create Rust-based mobile Android applications Use Rust to build AI and machine learning applications Who This Book Is For Someone with basic Rust knowledge, wishing to learn more about how to apply Rust in a real-world scenario.


Author : R. Kent Dybvig
Publisher : Prentice Hall
Release : 1996
Page : 248
Category : Computers
ISBN 13 :
Description :


Basic, no nonsense introduction to the programming language Scheme


Author : Brian L. Troutwine
Publisher : Packt Publishing Ltd
Release : 2018-05-31
Page : 462
Category : Computers
ISBN 13 : 1788478355
Description :


Get to grips with modern software demands by learning the effective uses of Rust's powerful memory safety. Key Features Learn and improve the sequential performance characteristics of your software Understand the use of operating system processes in a high-scale concurrent system Learn of the various coordination methods available in the Standard library Book Description Most programming languages can really complicate things, especially with regard to unsafe memory access. The burden on you, the programmer, lies across two domains: understanding the modern machine and your language's pain-points. This book will teach you to how to manage program performance on modern machines and build fast, memory-safe, and concurrent software in Rust. It starts with the fundamentals of Rust and discusses machine architecture concepts. You will be taken through ways to measure and improve the performance of Rust code systematically and how to write collections with confidence. You will learn about the Sync and Send traits applied to threads, and coordinate thread execution with locks, atomic primitives, data-parallelism, and more. The book will show you how to efficiently embed Rust in C++ code and explore the functionalities of various crates for multithreaded applications. It explores implementations in depth. You will know how a mutex works and build several yourself. You will master radically different approaches that exist in the ecosystem for structuring and managing high-scale systems. By the end of the book, you will feel comfortable with designing safe, consistent, parallel, and high-performance applications in Rust. What you will learn Probe your programs for performance and accuracy issues Create your own threading and multi-processing environment in Rust Use coarse locks from Rust’s Standard library Solve common synchronization problems or avoid synchronization using atomic programming Build lock-free/wait-free structures in Rust and understand their implementations in the crates ecosystem Leverage Rust’s memory model and type system to build safety properties into your parallel programs Understand the new features of the Rust programming language to ease the writing of parallel programs Who this book is for This book is aimed at software engineers with a basic understanding of Rust who want to exploit the parallel and concurrent nature of modern computing environments, safely.


Author : Apriorit Inc.
Alexey Lozovsky
Publisher : Apriorit Inc.
Release : 2019-09-10
Page :
Category : Computers
ISBN 13 :
Description :


This is an extensive and beginner-friendly Rust tutorial prepared by our system programming team here at Apriorit. Whether you're a Rust aficionado or only starting your Rust journey, this e-book undoubtedly will prove useful to you. Key Highlights ⦁ Discover the main features of the Rust language ⦁ Learn to develop safer and faster software using Rust ⦁ Learn to establish efficient C bindings ⦁ Get detailed explanations of differences between Rust and C++ Book Description Rust is a c-like systems programming language that provides many advantages over its predecessors. This is why this low-level language has already become so popular in the development community. This book covers the main features of Rust, like zero-cost abstractions, move semantics, trait-based generics, pattern matching, type inference, and minimal runtime. It also explains how the Rust programming language can ensure memory safety and avoid data races in threads. In addition, Rust provides a great opportunity to use wide range of libraries and bind with other languages. The author added a detailed chart comparing feature set of Rust to C++, so you can better understand all the advantages and disadvantages of Rust. This tutorial will be useful for developers who only starts learning Rust, as well as for those who want to improve their knowledge on Rust features. What you will learn ⦁ Discover Rust features that make programming faster and secure ⦁ Guarantee memory safety using Rust ⦁ Benefit from zero-cost abstraction mechanisms ⦁ Avoid data races and a garbage collector ⦁ Get rid of use-after-free, double-free bugs, dangling pointers ⦁ Reduce code duplication ⦁ Use existing libraries written in C and other languages ⦁ Understand the main difference between Rust and C++ About the Author Alexey Lozovsky is a Software Designer at Apriorit.Inc. Apriorit Inc. is a software development service provider headquartered in the Dover, DE, US, with several development centers in Eastern Europe. With over 350 professionals, it brings high-quality services on software consulting, research, and development to software vendors and IT companies worldwide. Apriorit’s main specialties are cybersecurity and data management projects, where system programming, driver and kernel level development, research and reversing matter. The company has an independent web platform development department focusing on building cloud platforms for business. Table of Contents Introduction Summary of Features Rust Language Features Zero-Cost Abstractions Move Semantics Guaranteed Memory Safety Ownership Borrowing Mutability and Aliasing Option Types instead of Null Pointers No Uninitialized Variables Threads without Data Races Passing Messages with Channels Safe State Sharing with Locks Trait-Based Generics Traits Define Type Interfaces Traits Implement Polymorphism Traits May be Implemented Automatically Pattern Matching Type Inference Minimal Runtime Efficient C Bindings Calling C from Rust The Libc Crate and Unsafe Blocks Beyond Primitive Types Calling Rust from C Rust vs. C++ Comparison