Rust-lang has been around for a while now and it’s ambitions to supersede C and C++ are no secret. In recent years the recognition of Rust as a viable alternative has been steadily increasing in both Linux and embedded communities. Here at Norik Systems we find ourselves at the intersection of the two worlds and we work hard to stay at the forefront of the developments and current trends in technologies and best practices. That is why we organized an internal workshop on Rust to familiarize ourselves with the core concepts of it’s programming model and to discuss the possibilities of trying it out in one of the next projects.
One of our engineers prepared a presentation with live coding demos aimed at explicating Rust’s novel approach to memory management through the concepts of ownership, borrow checking and lifetime annotations. Rust really feels like a programmer’s programming language and we were all taken over by rustc’s friendly and helpful compiler warnings and errors. The power of Rust’s static checking really became apparent when red and yellow squiggles drawn in the editor spoiled our presenter’s quizzing attempts by giving away the answers, much to everyone’s amusement.
The most important topics turned out to be the supported architectures (if you have rustlang installed, you can check them yourself with `rustup target list`) and Rust’s interoperability with C. We were delighted to see that ARM is very well supported and that calling Rust from C doesn’t introduce much developing overhead, meaning that we could start introducing it into our projects incrementally without taking too much risk. That said, we encourage you to take a look into Rust as it’s certainly here to stay.