Rust for Pythonistas
Published by O'Reilly Media, Inc.
Unlocking the power of systems programming
Course outcomes
- Understand the fundamentals of Rust and its key advantages over Python
- Learn how to set up a Rust development environment
- Examine key Rust concepts, such as ownership, borrowing, and lifetimes
- Practice using Amazon CodeWhisperer and GitHub Copilot as part of your development environment
Course description
Join expert Noah Gift to understand how to make a smooth transition to Rust, a systems programming language widely recognized for its safety and concurrency mechanisms. You’ll gain hands-on experience through interactive coding sessions, including exercises reinforcing key Rust concepts and translating them into real-world programming solutions. You’ll understand Rust's unique ownership model and learn how to use its robust concurrency capabilities step-by-step. You’ll leave with your programming skills significantly enhanced, so that you can create more efficient, secure applications and explore new opportunities in systems programming.
What you’ll learn and how you can apply it
- Write efficient and safe Rust code
- Leverage Rust libraries and tools in your projects
- Combine Rust with Python for improved application performance
This live event is for you because...
- You’re a Python developer looking to expand your skills.
- You work with performance-critical applications.
- You want to become a more versatile and in-demand programmer.
Prerequisites
- A computer with Rust and Visual Studio Code installed
- Basic understanding of Python programming
- Install Amazon CodeWhisperer and GitHub Copilot (optional if you would like to follow along with the hands-on portion of the course)
Recommended preparation:
- Read the Rust documentation
- Explore Assimilate Python from Zero (on-demand course)
- Explore Assimilate AWS with Rust and Python (on-demand course)
Recommended follow-up:
- Explore Rust by Example (book)
- Read The Rust Programming Language (book)
- Explore Switching to Rust from Python (on-demand course)
- Read Command-Line Rust (book)
- Read Python Data Science Handbook (book)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Introduction to Rust (60 minutes)
- Presentation: Overview of Rust; setting up a Rust development environment
- Group discussion: Rust versus Python
- Hands-on exercise: Write a simple Rust program
- Q&A
- Break
Rust ownership and borrowing (60 minutes)
- Presentation: Rust ownership, borrowing, and lifetimes with comparison to Python idioms; error handling in Rust compared to Python
- Hands-on exercise: Implement ownership and borrowing in Rust
- Q&A
- Break
Working with Rust libraries and tools (60 minutes)
- Presentation: Working with Rust libraries and tools and mixing with Python; Rust concurrency and async programming compared to Python
- Hands-on exercises: Build a project with Rust libraries and use in Python
- Q&A
- Break
Combining Rust with Python (60 minutes)
- Presentation: Combining Rust with Python
- Hands-on exercise: Create a hybrid Python-Rust project
- Group discussion: Use cases and best practices
Wrap-up and Q&A (10 minutes)
Your Instructor
Noah Gift
Noah Gift is lecturer and consultant in both the UC Davis Graduate School of Management’s MSBA program and Northwestern’s graduate data science program, MSDS, where he teaches and designs graduate machine learning, AI, and data science courses and consults on machine learning and cloud architecture for students and faculty. These responsibilities include leading a multicloud certification initiative for students. He’s the author of close to 100 technical publications, including two books on subjects ranging from cloud machine learning to DevOps. Noah has approximately 20 years’ experience programming in Python. He’s a Python Software Foundation Fellow, an AWS Subject Matter Expert (SME) on machine learning, an AWS Certified Solutions Architect and AWS Academy Accredited Instructor, a Google Certified Professional Cloud Architect, and a Microsoft MTA on Python. Over his career, he’s served in roles ranging from CTO, general manager, and consulting CTO to cloud architect at companies including ABC, Caltech, Sony Imageworks, Disney Feature Animation, Weta Digital, AT&T, Turner Studios, and Linden Lab. In the last 10 years, he’s been responsible for shipping many new products that generated millions of dollars of revenue and had global scale. Currently, he’s consulting startups and other companies. Noah holds an MBA from UC Davis, an MS in computer information systems from Cal State Los Angeles, and a BS in nutritional science from Cal Poly San Luis Obispo.