Вводная для тех, кто не слышал о Rust. Программисты Mozilla пережив три пожара и два переименования решили собрать все самые лучшие практики программирования на С и поняли, что они во многом сводятся к формализуемым четким правилам, выполнение которых делает программу надежной.
Этот набор правил решили формализовать в виде компилятора языка программирования, который дает совершенно удивительные гарантии: целостность памяти, проверяемая во время компиляции.
Т.е. не memory safety of assembler and speed of ruby, а наоборот.
Вот свежий пример: в зависимости от уровня приоритета прерывания, компилятор может потребовать обернуть обращение к переменной из обработчика в мьютекс.
Rust стал первым языком за много десятилетий, на котором можно написать библиотеку, которая будет встроена в код на С. В обратную сторону умеет каждый язык программирования, а вот стать базовым не удавалось фактически даже плюсам.
Но всё было бы слишком скучно, если бы Rust так и оставался языком в рамках традиционного юникса.
Всё пошло дальше: из раста получилось выкинуть привычный stdlib и компилировать его под микроконтроллеры.
https://rust-embedded.github.io/book/
а на базе этого родилась целая микро-ос в стиле freertos.
https://rtfm.rs/
Если интересно — могу поделиться опытом нашей разработки под stm32