Больше не эксперимент
Пишущие на языке программирования Rust разработчики ядра Linux добились возможности писать создавать компоненты ядра Linux именно на этом на языке. На протяжении многих лет использование Rust в разработке ядра Linux считалось всего лишь экспериментом, но то, что поначалу действительно было им, в итоге превратилось в существенную, а иногда и вовсе неотъемлемую часть ядра.
Rust относится к числу новейших языков программирования – он разрабатывается с 2006 г., но впервые был представлен широкой общественности в январе 2012 г. С этого же времени его адепты не прекращают попыток переписать весь код ядра Linux, который десятилетиями базировался исключительно на коде С и С++.
Решение о снятии пометки «экспериментальная функция» с кода Rust в составе ядра Linux было принято участниками конференции Maintainers Summit. Они коллективно обсудили результаты внедрения этого кода в ядро и пришли к общему выводу, что все прошло вполне успешно.
Три года к успеху
В самую активную свою фазу эксперимент по внедрению кода на Rust в состав ядра Linux вошел в 2022 г. В тот период разработчики получили разрешение создавать драйверы и модули на Rust – эта опция была включена в ядро версии 6.1.
Как пишет OpenNet, программисты решили не терять времени даром и за прошедшие три года внедрили в ядро Linux множество компонентов, написанных на Rust. Среди них – абстракции для разработки на драйверов для видеокарт, сетевых карт и USB-устройств. Например, существует написанный на Rust драйверы Nova для видеокарт Nvidia, и Tyr для интегрированной графики ARM Mali, а также драйвер rust_ext2 для поддержки файловой системы Ext2.
Староверы против
Сторонники внедрения кода на Rust в ядро Linux столкнулись с невероятно сильным сопротивлением со стороны его разработчиков, пишущих на С и С++. Они выступили резко против таких нововведений и заявили, что не собираются переучиваться или что-то менять. Среди них нашлись даже те, кто сравнил внедрение в ядро кода на Rust с раковой опухолью Также они высказали мнение, что столь сложные программные продукты не должны создаваться на радикально разных языках программирования, поскольку это усложняет разработку.
По современным меркам и С, и С++ – относительно старые языки, поскольку многие нынешние программисты еще не родились, когда они появились. Между тем, С (вышел в 1972 г.) и С++ (появился в 1982 г.). до сих пор входят в топ-3 самых популярных в мире (рейтинг Tiobe, декабрь 2025 г.) наряду с Python. Rust в этом рейтинге находится на 17 строчке против 14 места в декабре 2024 г.
Создатель Linux Линус Торвальдс (Linus Torvalds) никогда не обходил споры адептов С и Rust стороной. В течение длительного времени он занимал сторону «староверов», по-всякому и публично обзывая программистов на Rust. Многие из них даже покинули сообщество Linux, не желая терпеть оскорбления со стороны Торвальдса, а кого-то был заблокирован после очередной перепалки с Торвальдсом.
Но через некоторое время Линус сменил сторону. Теперь он хоть и не поливает грязью программистов на С и С++, но открыто признает, что коду на Rust есть место в ядре Linux.
Чем так хорош Rust
Rust имеет множество доказанных преимуществ перед С и С++, помимо возраста. В частности, он, в отличие от этих языков, умеет безопасно работать с памятью, что позволяет писать программы с гораздо меньшим количеством потенциальных уязвимостей.
По оценке экспертов OpenNet, использование Rust для написания кода, в числе прочего, сокращает время, затрачиваемое на разработку и отладку ввиду наличия в этом языке «строгих гарантий, выявляющих ошибки на ранней стадии написания кода».




