For Jonathan, Rust isn’t just a professional tool, it’s become the default, even for personal projects. After years working in C++, he made the switch to Rust and hasn’t looked back.
We caught up with him at Rust Nation to hear how he’s using Rust day-to-day, from microcontroller hobby projects to real-world Python integrations using PyO3.
MOVING FROM C++ TO RUST
Jonathan started writing C++ at a young age and loved it, especially for its performance and exception handling. But over time, he became more drawn to the safety and clarity Rust provides.
“Even for my side projects now, I’m migrating everything from C++ to Rust.”
His advice for others making the switch is to start small. Build something simple and use it to learn how the borrow checker and ownership model work. Although the learning curve can be steep, it pays off quickly.
WILL RUST REPLACE C++ FOR NEW PROJECTS?
When it comes to Rust vs. C++, Jonathan is realistic. There’s far too much legacy C++ code in the world for Rust to fully replace it anytime soon, especially in large enterprises or finance.
But for new projects? He sees Rust as the clear choice.
“It checks all the same boxes as C++. You get memory control, performance, and can easily integrate with C libraries, but with more safety built in.”
WHY PYO3 MATTERS
One of the talks Jonathan was most looking forward to at Rust Nation was about PyO3, the Rust library that lets you write Python extensions or embed Python directly in Rust applications.
He’s used PyO3 on client projects where both Rust and Python were in play and found it intuitive and well-documented.
“It’s rare to find a cross-language tool that’s this smooth, and with such good examples.”
This kind of Rust–Python interoperability is a growing need in many organizations, especially those looking to modernize performance-critical parts of their Python stack.
RUST FOR MICROCONTROLLERS
While not a robotics expert by trade, Jonathan spends free time building microcontroller projects, working with systems that have tight memory constraints (e.g. 256KB of RAM).
Using Rust’s no_std mode, which disables the standard library, he’s able to get C-like performance on resource-limited devices, without giving up Rust’s safety benefits.
“Rust gives you the same control as C or C++, but with fewer chances to break things.”
KEEPING UP WITH THE RUST ECOSYSTEM
Jonathan stays current by regularly reading the official Rust blog, especially for upcoming release notes. Whenever a new feature looks promising, he tries to use it in one of his projects.
For him, practicing with real code is the best way to stay sharp and keep learning.
FINAL THOUGHTS
From C++ developer to Rust enthusiast, Jonathan’s journey reflects the broader shift happening across tech. Rust isn’t just for systems-level code anymore, it’s powering web backends, embedded devices, and even Python extensions.
And with tools like PyO3, no_std, and a rapidly evolving ecosystem, developers like Jonathan are showing how Rust can fit into just about any corner of software development.