Nicholas Matsakis: RUST:Reach Further

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 key part of Rust's design is that the language itself doesn't "privilege" one form of parallel programming over the others.Instead, Rust supplies two core primitives -- ownership and traits -- that enable libraries to implement a wide variety of parallel styles. Currently, libraries exist to support newer models like actors and futures, but also more traditional threaded programming based on locks. There are also a host of non-blocking data structures available, as well as a work-stealing runtime that makes data parallelism very easy.

This talk will cover some of the highlights of Rust's design, and show how Rust's type system not only supports different parallel styles but also encourages users to write code that is amenable to parallelization. I'll also talk a bit about recent work at Mozilla, where Rust was instrumental in parallelizing parts of Firefox's CSS engine.


Nicholas MatsakisNicholas Matsakis is a senior researcher at Mozilla research and a member of the Rust core team. He has been working on Rust since 2011 and did much of the initial work on its type system and other core features. He did his undergraduate study at MIT, graduating in 2001, and later obtained a PhD in 2011, working with Thomas Gross at ETH Zurich. He also spent several years at DataPower Technology, a startup since acquired by IBM, working on the JIT compiler and networking runtime.