Грег Кроа-Хартман привёл убедительные доводы в пользу написания новых драйверов ядра Linux на Rust
Сопровождающий разработчик стабильной ветки ядра Linux Грег Кроа-Хартман (Greg Kroah-Hartman) привёл убедительные доводы в пользу написания новых драйверов ядра Linux на языке программирования Rust. Кроа-Хартман является ярым сторонником добавления кода на Rust в ядро Linux. Он призвал ментейнеров проекта и разработчиков писать новый код для ядра и драйверов Linux на Rust, а не на C.
Грег Кроа-Хартман утверждает, что подавляющее большинство ошибок ядра Linux вызвано «глупыми маленькими крайними\пограничными случаями в C, которые полностью исчезли в Rust» (stupid little corner cases in C that are totally gone in Rust). Он полностью согласен за постепенный переход от кодовой базы C к новому коду на Rust, где эти проблемы с безопасностью памяти и другие недостатки C невозможны.
«Как человек, который видел почти ВСЕ исправления ошибок в ядре и проблемы безопасности за последние 15+ лет (ну, надеюсь, все они попадают в стабильные ветки, мы иногда пропускаем некоторые, когда сопровождающие/разработчики забывают пометить их как исправления ошибок), и который видит ВСЕ выпущенные патчи против уязвимостей ядра, я думаю, что могу высказаться по этой теме», — уточнил Кроа‑Хартман.
Согласно заявлению Кроа-Хартмана, 30 миллионов строк кода на C ядра Linux никуда не денутся в ближайшее время, но для нового кода/драйверов уже запущен процесс написания на Rust, где такие многие типы ошибок просто не могут произойти (или происходят гораздо реже).
«Почему бы нам не сделать это? C++ не даст нам ничего из этого в ближайшее десятилетие, и проблемы комитета по языку C++, похоже, указывают на то, что всем лучше отказаться от этого языка как можно скорее, если они хотят иметь какую‑либо кодовую базу, которую можно поддерживать в течение любого
Читать на habr.com