Rust as foundation in a polyglot development environment
Gavin Mendel-Gleason and Matthijs van Otterdijk lead the core database development effort and spend a good deal of time writing Rust. Their talk comes from the experience of an actual industrial use-case transition for a small startup and we want to share that experience with others who might make the switch.
Rust was largely "just-another" language to Gavin until Matthijs showed him a small prototype of our C++ library written in Rust. It was a real thing of beauty which could potentially solve the large amount of debugging effort that they spent in-house due to their use of C++. They gambled on a transition to the language and have not looked back, being extremely happy with performance. Our experience has been that development time is sometimes a bit longer than in C++ but it's easily swamped by the lack of segfault and data-race issues that can plague a multithreaded C application.
In order to manage their move to become "a rust house" they have adopted a strategy based on the "strangler pattern" which they think is generalisable to other software houses and should be adopted by those who want to have a way to grow Rust in their software composition in a gradual way. In this talk they want to describe the process of their transition and what they found (in practice) along the way.
I'm the CTO of TerminusDB and a software engineer with several decades of experience in a wide variety of languages from Fortan and Lisp through to Haskell and C++. I'm also an (albeit novice) rust practitioner. In this time I have often gotten memory management wrong, which is why I'm such a fan of rust. I advocate rust for the rest of us who don't always get it right.