Code[ish] artwork

34. An Introduction to Rust

Code[ish]

English - September 10, 2019 00:00 - 60.7 MB - ★★★★★ - 18 ratings
Technology Homepage Download Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed


You couldn't find a more perfect pair of guests to talk about Rust than Carol Nichols and Jake Goulding. Carol and Jake write books that teach Rust, maintain websites that allow users to run Rust samples, record videos about Rust, and also manage the Rust Belt Rust conference, where Rust developers congregate in the Rust Belt region of America. Carol has a background in Ruby, and always sought to eke out more performance and less memory consumption. Jake has a background in C, but recognizes that it places a heavy burden on a programmer to be mindful of memory leaks and segmentation faults.

Rust is a fantastic programming language from Mozilla. It has a much simpler and intuitive syntax than C, the compiler is optimized to ensure that you are writing memory-safe code, and as a result, it produces executables that run much more quickly (and require less resource consumption) than a dynamic language like Ruby. Carol and Jake delve into how the Rust compiler does this, primarily by aggressively freeing memory and forbidding developers from interactions with dereferenced objects. To newcomers, Rust seems like a forboding language, but Carol and Jake believe that Rust's emphasis on terrific documentation and error messages help guide newbies and veterans alike into writing safer and faster code.

Several large companies see the benefits of Rust and are writing it in production, such as Mozilla, Google, Facebook, and Amazon. Heroku even has an unofficial buildpack for serving Rust applications, and Carol notes that in one of her projects she's paying more for log storage than for dyno consumption, due to how efficiently Rust uses memory.

Rust has an ecosystem-first approach to language design (rather than placing everything into the standard library), which has fostered a largely collaborative open source community. Carol and Jake advise, however, that the language is still evolving, and they don't recommend rewriting all your functional business logic into Rust just yet.

The two conclude by providing many resources on getting started with Rust in the form of books, videos, and coding challenges.

Links from this episode

Many resources for learning Rust were mentioned in this episode:

For books, you can get started by reading The Rust Programming Language Book or Programming Rust
For hands-on coding examples, the Rust Playground allows you to run snippets of Rust code; Rust by Example shows common programming problems solved through Rust implementations; the Rust Cookbook offers slightly longer code samples; and both Rustlings and Excercism.io have interactive tutorials
Rust in Motion is a video series Carol and Jake are producing to introduce developers to Rust

The Rust Belt Rust conference is where Rust developers and enthusiasts from around the world will gather to discuss production Rust usage, best practices, and what’s next for Rust.
crates.io is where Rust packages reside
Rust is in production at Mozilla, Amazon, and Google