Rust vs C++: How Jonathan Transitioned to Rust for Embedded Projects and PyO3 Integration - Realm

INSIGHTS

Rust vs C++: How Jonathan Transitioned to Rust for Embedded Projects and PyO3 Integration

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.

SHARE THIS POST

REALM REALM REALM REALM REALM REALM REALM REALM
REALM REALM REALM REALM REALM REALM REALM REALM

OTHER POSTS

Samuel Arrowsmith

Rust for Java Developers: Samuel Arrowsmith’s Journey into Safer, Smarter Code

Follow Samuel Arrowsmith’s journey into Rust for Java developers - exploring how he moved from Java to Rust for SaaS development at Arwen AI and why more teams are making the shift.

Marco Ieni

Rust Infrastructure Engineering: Marco Ieni on Building the Ecosystem Behind the Compiler

Explore Rust infrastructure engineering with Marco Ieni, who maintains core tooling, automates crate releases, and helps scale the systems that keep the Rust ecosystem secure and reliable.

Herbert Wolverson

Rust Training for Developers: Herbert Wolverson’s Mission to Teach Safer, Faster Code

Offering Rust training for developers, Herbert explores how hands-on teaching, real-world use cases, and migration guidance are driving safer, faster code adoption.