How do you rewrite C/C++ projects to Rust?
In a Nutshell
Luca Palmieri argues that Rust migrations succeed when companies treat them as incremental engineering projects rather than big-bang rewrites: start with self-contained C modules that only need to call Rust, integrate build systems and bindings early, and expand the Rust surface while shipping continuously. The biggest risks are underestimating timeline and training, and letting the two codebases drift out of sync; the biggest gains come from using AI to accelerate testing and guard-rail creation while developers stay in control of design and correctness.
These notes were generated by AI and may contain inaccuracies.
Luca Palmieri, book author, speaker, principal engineering consultant, and main matter, joined the Rust Stroa live stream series to discuss migrating C/C++ projects to Rust.
Luca's first programming experience occurred at age 13-14 when he used PHP with the Symfony framework and the LAMP stack to build websites and small blogging platforms. After a significant gap, he studied programming again in university while pursuing mathematics, focusing primarily on linear algebra with C, Python, and MATLAB. His professional programming career began when he left university to work as a machine learning engineer and data scientist, where he was primarily using Python.
While working as an ML engineer, Luca needed to write custom models beyond what could be assembled from NumPy, SciPy, and scikit-learn calls. Since Python wasn't fast enough for this work, native extensions using Cython or C++ were required. His CTO recommended Rust as a fast language that could handle these requirements. Luca downloaded the Rust book in PDF format and read it during a flight, finding it interesting enough to pursue further.
Luca's first PRs were contributed to ndarray, the main NumPy alternative in the Rust ecosystem. He continued using Rust as a side tool for a couple of years until landing at TrueLayer, where he transitioned career-wise to become a backend engineer using Rust primarily for backend work, which led to writing his book.
Sign in to read the full notes
Get access to AI-generated notes, topic timestamps, and more.