Rust Programming Techniques

Presented by Nicholas Cameron
Thursday 1:40 p.m.–3:20 p.m. in Large POD Room CB11.04.400
Target audience: Developer

Abstract

Rust is a language for fearless systems programming. It offers memory safety, data race freedom, and a modern programming environment, without sacrificing low-level control over performance and memory usage. Learning a new programming language is hard. Even after mastering the syntax and type system, learning the libraries and techniques can take years. If you've read or written Rust and want to improve, this talk will give you a turbo boost! This will be a very practical tutorial, aimed at taking your Rust programming to the next level. We'll teach some core Rust design principles by covering a few key topics in depth. This tutorial is aimed at those with some Rust experience, but if you're a total beginner, you'll still learn a lot about what Rust programming is like in practice. The tutorial will start with programming 'in the small': we'll explore some key library types (Option, Result, and Iterator) and cover practical error handling. Putting these together we'll see how to structure your control flow to write clear, succinct programs. We'll then cover some larger-scale design issues - using ownership as a primary architectural principle, and abstraction using traits. You'll learn how to be more productive in Rust by writing clean and idiomatic code. You'll learn to work with the language rather than fighting against it.

Presented by

Nicholas Cameron

Nicholas Cameron (nrc) is a research engineer at Mozilla working on Rust. He is part of the Rust core team, leads the dev tools and code style teams, and is part of the language and compiler teams. Currently he is mostly hacking on tools such as IDE support and Rustfmt. Previously he worked on layout and graphics in Firefox and conducted programming language research in academia.