Wednesday 

Workshop room 1 

17:40 - 18:40 

(UTC+02

Talk (60 min)

Learning Rust for Pythonistas

Python is a popular programming language used widely throughout many domains and industries. Rust is a relatively new systems-level language with some exciting features that's gaining in popularity due in part to its speed, tooling, and community. The two languages are very complimentary, and this has sparked a lot of interest in Rust among existing Python programmers.

Programming Languages
Rust
Python

In this talk we’ll take a look at Rust from the perspective of a Python programmer, and we’ll try to understand some of Rust’s novel features in terms of Python. Rust features like lifetimes, ownership, and traits, along with aspects like how Rust handles errors, can feel quite foreign to programmers whose main experience is with Python. Likewise, Rust’s support for modules and functions will be relatively familiar to Python programmers. By exploring these differences and similarities we can start to clarify how to think in Rust and appreciate - even celebrate! - the differences between the languages.

My main hope with this talk is to ground your exploration of Rust in knowledge that you already have. Rust can feel intimidating, but by presenting it in terms that you’re already familiar with we can dispel some of the mystery. With the right metaphors and comparisons, the journey from Python to Rust can be surprisingly straightforward. Even in situations where there is no obvious path from Python to Rust, simply recognizing that “Rust just does things differently” can be enlightening and liberating.

Austin Bingham

Austin is a founding director of Sixty North, a software consulting, training, and application development company. A native of Texas, in 2008 Austin moved to Stavanger, Norway where he helped develop industry-leading oil reservoir modeling software in C++ and Python. Prior to that he worked at National Instruments developing LabVIEW, at Applied Research Labs (Univ. of Texas at Austin) developing sonar systems for the U.S. Navy, and at a number of telecommunications companies. He is an experienced presenter, teacher, and author, and he is an active member of the open source community. Austin holds a Master of Science in Computer Engineering from the University of Texas at Austin.