Several years ago, I set out learning a new programming language every year – as many programmers do. There are many paradigms, rules, and insights to be gained from knowing another programming language, and then I found Rust. Rust turned out to be too much fun to write to simply move on, and after the steep learning curve, it became even more fun. So, there I had it: having learned a total of two additional (TypeScript and Rust) languages, I stuck to Rust. Why? Let's find out.
Rust is a systems programming language that provides memory safety by default without a garbage collector, which impacts its runtime behavior. Regardless of this fact, Rust is a very versatile language that can be used across various domains, be it web programming, game engines, or web clients. Moreover, it challenges conventional thinking about scopes and memory allocation, making you a better programmer in any language, be it C#, Java, or Python. The latest push on the part of companies such as Amazon, Microsoft, and Google shows that the ecosystem has now evolved to a point where things are stabilizing enough for enterprise usage – a great sign for a future Rust professional.
In this book, we have compiled the most useful experiments with sensible use cases to make you productive fast. We have tried to cover a wide range of applications and hope you find useful concepts as well as solutions that are directly applicable to your daily development work.