Presented by

  • Tim McNamara

    Tim McNamara

    Tim is a software engineer with Canonical, the company behind the Ubuntu operating system. Tim describes Rust as the language that enables Haskell and Java programmers to get along. He has past experience leading big data software projects for DOT Loves Data, and led training and outreach at the New Zealand eScience Infrastructure. He's the author of upcoming book, Rust in Action, published by Manning Publications.


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!