Safe Programming
with Rust
Afonso Miguel
Who am I?
Prof. Afonso Miguel
• Computer Engineer
• Master's in Industrial Informatics
• Arti cial Intelligence
• Embedded Systems
• [email protected]
• www.microprocessadores.com.br
fi
Programming Language Design
Ergonomics vs. Control/Performance vs. Safety
High-level ergonomics/safety and low-level control/performance are
often at odds in programming language design.
Python C/C++ Assembly
TIOBE Programming Community Index
August, 2025
Rust: Overcoming the Difficulties of the C Language
Introduction to the Problem
Rust Language
• 2006: Graydon Hoare begins the development of Rust as a personal project.
• 2009: Mozilla starts sponsoring the development of Rust with the goal of
using the language to create a parallel rendering engine, the Servo project.
• 2012: The rst o cial release of Rust, version 0.1, is launched.
• 2015: Rust reaches version 1.0, marking the stabilization of the language.
From this point on, the language begins to be adopted in industrial projects.
fi
ffi
Introduction
Ergonomics vs. Control/Performance vs. Safety
Rust: Overcoming the Difficulties of the C Language
Data Types
Rust: Overcoming the Difficulties of the C Language
Memory Management
Rust: Overcoming the Difficulties of the C Language
Memory Management
Rust: Overcoming the Difficulties of the C Language
Memory Management
Rust: Overcoming the Difficulties of the C Language
NULL ponter…
Rust: Overcoming the Difficulties of the C Language
Memory Corruption
Rust: Overcoming the Difficulties of the C Language
Concurrency…
TIOBE Index for Rust
August, 2025
Introduction
Energy vs. Performance vs. Memory
https://greenlab.di.uminho.pt/wp-
content/uploads/2017/09/
paperSLE.pdf
Tris Oaten - No Boilerplate Channel
Company Team Uses Rust? For What?
Amazon Cloud engineers Programming
Cloud are Computer programmers, Data scientists Programming, data science backend
Coursera Programmers, web developers Programming, web development
Discord Software engineers Programming
Dropbox Software engineers, Cloud engineers Programming, web development
Figma Software engineers Programming
Google Software engineers, Android developers Programming
Kraken Software engineers Programming
Microsoft Software engineers Programming
Mozilla Software engineers Programming
fl
Rust Language
Ferris crab
(mascot)
https://bit.ly/getrust
JetBrains
RustRover
2023, Sep
https://www.jetbrains.com/pt-br/rust/
https://doc.rust-lang.org/book/
https://rustfoundation.org/