Lionel DebrouxLe 14/10/2018 à 16:36
Le minimum serait d'intégrer du C++ moderne dans l'implémentation pour bénéficier du meilleur typage, de la const correctness et de quelques facilités supplémentaires pour réduire la fréquence d'occurrence des problèmes de sécurité évitables et pour améliorer l'efficacité. Ils peuvent même tirer parti de C++17, puisqu'ils visent des plate-formes futures. Mais plus que Go, même s'il est très productif, je pensais à Rust, plus difficile d'accès mais vrai langage système qui interopère directement avec C, parce que non seulement il peut être très efficace (eux aussi vont assez loin sur les abstractions à coût nul), mais surtout, il a été fait pour être beaucoup plus sûr que C. Rust tient en général ses promesses de sécurité, même si j'ai vu passer que plusieurs bugs dangereux ont été trouvés dans la lib standard ces derniers temps, et vite corrigés après avoir été reportés. Les développeurs de Rust ont été critiqués par certains pour ne pas avoir utilisé de modèle formel de la lib standard, mais bien sûr, les autres langages mainstream ne font pas mieux.
Continuer à intégrer aux distros Linux de nouveaux composants de base écrits dans un langage dangereux, qui vont donc s'avérer à court et long terme contenir de grosses vulnérabilités évitables, ne va pas du tout dans le bon sens. Du C bourré de vulnérabilités, en particulier des débordements de zones mémoire, il y en a déjà bien trop dans les (dépendances directes de) packages essentiels de presque toutes les distros Linux. Les fuzzers le montrent régulièrement.