• [^] # Re: Mon avis (professionnel)

    Posté par (site web personnel) . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 6.

    Déjà car en embarqué tu as des applications sans OS, donc il te faut forcément une chaîne de compilation qui permette de générer du code valide dans un tel contexte.

    Pas de problème de ce coté là. Il suffit de compiler avec #[no-std]

    impose de contourner les limitations de Rust via l'utilisation des blocs unsafe un peu partout.

    unsafe ne contourne pas les limitation, il utilise un avantage de rust.
    En C, c'est comme si le programme complet était dans un énorme bloc unsafe. Alors que en rust, tu es safe par défaut, mais tu peux dire au compilateur "ici je sais ce que je fait".

    La particularité de rust c'est aussi qu'il permet de faire des abstraction à cout zéro. Donc tu peux abstraire les partie unsafe dans une bibliotheque. Ou utiliser l'une des nombreuse bibliotheque existante pour le support des différent matériel
    https://github.com/rust-embedded/awesome-embedded-rust#peripheral-access-crates
    Ce qui te permet de faire de l'embedded avec peu de unsafe dans ton code.

    En conclusion, rust est un excellent candidat pour faire de l'embedded.
    Il y a pas mal de ressources en ligne: https://docs.rust-embedded.org/

    Il y a toute fois une limitation: rust dépends de LLVM et seule les architectures supportées par LLVM sont supportées par rust. Celà signifie que ça ne fonctionnera pas sur certaine architectures qui nécessite un compilateur proprio par example. Mais bon... il faut éviter ces architectures de toute façon (ça pue c'est pas libre)