Rust випередив C/C++ за обсягом коду, який додається до платформи Android
В Google підбили підсумки використання компонентів, написаних мовою Rust, у платформі Android. Фахівці компанії помітили «1000-кратне зниження щільності вразливостей безпеки пам’яті порівняно з кодом Android, який написано на C та C++».
Ще одним сюрпризом став вплив Rust на доставку програмного забезпечення. Виявилось, що на перевірку коду тепер витрачається на 25% менше часу, ніж раніше. Частота відкату змін Rust в Android приблизно в 4 рази нижча, ніж у C++, пише блог Google.
У 2025 році вперше частка вразливостей, спричинених помилками при роботі з пам’яттю, виявилася меншою за 20% від загальної кількості вразливостей. Для порівняння: у 2024 році цей показник в Android становив 24%, а у 2019 році — 76%.
Зараз в Android на мові Rust написано близько 5 мільйонів рядків коду, в яких виявлена лише одна потенційна вразливість, викликана проблемами при роботі з пам’яттю. Таким чином, щільність подібних уразливостей у коді Rust склала 0.2 вразливості на мільйон рядків коду. Для порівняння: у коді, написаному на C і C++, цей показник становить близько 1000 вразливостей на мільйон рядків коду.
Ключовим джерелом проблем Rust є код, що знаходиться в unsafe-блоках. Частка такого коду оцінюється в 4% від усього коду, написаного на Rust.
Коментуючи впровадження Rust в Android, представники Google зауважили:
«Розробка операційної системи вимагає низькорівневого контролю та передбачуваності мов системного програмування, таких як C, C++ та Rust. Хоча Java та Kotlin важливі для розробки платформи Android, їхня роль є доповненням до системних мов, а не взаємозамінною. Ми впровадили Rust в Android як пряму альтернативу C та C++, пропонуючи подібний рівень контролю, але без багатьох їхніх ризиків… Коли ми розглядаємо розробку системними мовами програмування (за винятком Java та Kotlin), виділяються дві тенденції: різке зростання використання Rust та повільніше, але стабільне зниження використання нових мов C++».
За даними Google, станом на 2025 рік обсяг нового коду Rust конкурує з C++, що дозволяє надійно порівнювати показники процесу розробки програмного забезпечення.












Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: