An interactive tutorial for programmers who have never used a compiler. Presented at LCA2020.
Rust is often described as having a difficult learning curve. Let’s find a hidden escalator. By the end of this tutorial, you’ll find building a command-line utility in Rust to be about as easy as one that’s written in Python or Ruby, and you’ll be able to distribute it as a stand alone binary.
Many of the difficulties learning Rust emerge from two sources: jargon and novel concepts. Avoiding the jargon keeps some the cognitive capacity in reserve to focus on the new concepts. Much of jargon has its roots in Rust’s functional programming heritage and early-adoption by programming language theorists. It’s possible to bypass much of that and focus on getting something working first. There’s plenty of time to learn about affine type systems and monomorphisation once you’ve got a working project or two.
This practical tutorial will take you through the process of writing a command-line from scratch. We’ll learn all about the essentials of the language, as well as the tooling that’s available for people who may not have worked with a compiled language before. We’ll also spend some time talking about how to access further help when you’re working on your own.
At this stage of its life cycle, everyone who knows Rust learned something else first. That means that there are plenty of people in your position who have been able to push through and make progress.
Come and learn Rust!
- Problems or suggestions? You're very welcome to contact the author: @timClicks
- The Algorithmic Beauty of Plants was the inspiration for the project in this talk
- Rust in Action is my intro to Rust