Join us
@saedarm ・ Aug 26,2022 ・ 4 min read ・ 1540 views ・ Originally posted on medium.com
I’d like to discuss what reading I’d recommend starting learning the Rust Programming Language and how useful the language can be, not only to Systems Programming, but also to Microservices, web development, applications in Blockchain technology; even game development.
According to Krzysztof Wróbel at Codilime
Rust is a statically-typed programming language designed for performance and safety, especially safe concurrency and memory management. Its syntax is similar to that of C++. It is an open-source project developed originally at Mozilla Research
It is a language made for safety, arguably a much-needed improvement over C and C++, and the only thing stopping you from learning and utilizing the language, is assumptions about its practicality.
The IoT era and the expansion of the maker movement enables a real democratization of hardware projects. Whether it is the Raspberry Pi, Arduino, or one of the young titans like the BeagleBone or Tessel, you can choose from a slew of languages to code your hardware projects, including Python or JavaScript.
There are times, however, when the performance these languages offer is simply not adequate. At other times, the microcontroller hardware you are aiming for is not suited to the runtimes these languages require: slow chips with tiny memory reserves and ultra-low-power applications still require a close-to-the-metal language. Traditionally that language has been C — but as you might have guessed, Rust is the new kid on the block.
Rust supports a wide variety of exotic platforms. While some of this is still experimental, support includes generic ARM hardware, the Texas Instruments TIVA dev board, and even the Raspberry Pi
Studies suggest Rust is already great for HPC (high-performance computing). You don’t even have to rewrite your whole application in Rust: its flexible Foreign Function Interface (FFI) provides efficient C bindings that let you expose and call Rust code without any noticeable overhead. This allows you to rewrite your app module by module, slowly transitioning towards a better developer experience that will result in performance on par with the old code or better. You also get a more maintainable codebase with fewer errors, which scales better on a high number of cores.
Rust is great for rewriting performance-sensitive parts of your application. It interfaces well with other languages via FFI and has a tiny runtime that competes with C and C++ in most cases, even when resources are limited.
I recommend starting with reading!
Software and cathedrals are much the same — first we build them, then we pray — Sam Redwine
In my opinion, there’s no language quite like Rust. That being said, the assumption is that you will first read what I’ll call the Rust Bible:
By: Steve Klabnik and Carol Nichols
The book will cover everything, from installing the Rust toolchain, dependencies with Rust’s own Package Manager: Cargo, all the way up to writing small applications after each chapter.
From here the possibilities are endless but I highly recommend checking out
Zero to Production in Rust:
An Opinionated Introduction to Backend Development
By: Luca Palmieri
This book is tailored toward the modern world: Cloud Development, working in a team setting, and managing a shifting, ever-changing technological landscape, which I think is what makes this book a must-read
In Luca’s words:
Zero To Production will focus on the challenges of writing Cloud-native applications in a team of four or five engineers with different levels of experience and proficiency.
Zero To Production will thus extensively cover topics that might seem tangential to pure backend application development. But Cloud-native software is all about rainbows and DevOps, therefore we will be spending plenty of time on topics traditionally associated with the craft of operating systems. We will cover how to instrument your Rust application to collect logs, traces and metrics to be able to observe our system.
Continue Learning
There are plenty of places to hone your craft, but I recommend utilizing some of these tools at your disposal
Continue to Learn with https://learning-rust.gitbook.io/book/
Use Rust Playground for an in-browser sandbox to test code
Check out these popular Udemy Courses:
https://www.udemy.com/course/rust-lang/
https://www.udemy.com/course/rust-fundamentals/
https://www.youtube.com/c/RustVideos/featured
Now What?
Once you’ve read pieces of Rust literature and have familiarized yourself with Rust’s unique constructs , you’re ready to explore what Rust has to offer
Unique Projects
Check These Out!
I hope this was a helpful article for anyone starting to learn Rust. Feel free to reach out to me on Linkedin!
Connect with me on Medium
Or Dev.to
Join other developers and claim your FAUN account now!
Business System Analyst, Midmark Corporation
@saedarmInfluence
Total Hits
Posts
Only registered users can post comments. Please, login or signup.