Rust is a new programming language that is growing rapidly. Rust’s goal is to help in writing programs that are at once correct and efficient. Rust offers performance comparable to C++ and, like C++, has minimal runtime requirements – it does not require a runtime or garbage collector, and you can even choose to forego the standard library. At the same time, Rust offers some of the strongest safety guarantees around – not only type and memory safety, but also data-race freedom! A consequence of “squaring this circle” is that Rust manages to appeal both to experienced systems programmers but also those who are more accustomed to dynamic languages and runtimes.
This talk covers the key parts of Rust’s design, but it also covers something else equally important: how Rust is designed. Rust operates in an aggressively open way, with a process that is designed to bring in feedback from many different groups of people at once. This process has evolved over time and continues to evolve. We’ll cover some of the key lessons we’ve learned, and some of the problems that we’re wrestling with – lessons that are applicable to most any open-source project, and any project that aims to design “in the open”.
Nicholas Matsakis is a senior researcher at Mozilla research and a member of the Rust core team. He has been working on Rust for four years and did much of the initial work on its type system and other core features. He has also done work in several just-in-time compilers as well as building high-performance networking systems. He did his undergraduate study at MIT, graduating in 2001, and later obtained a PhD in 2011, working with Thomas Gross at ETH Zurich.