Разделы

ПО Софт Интернет Веб-сервисы Техника

Программисты на C++ больше не нужны. На любимом языке хакеров писать оказалось вдвое продуктивнее

Google на собственном опыте убедился, что программисты, пишущие на Rust, работают вдвое эффективнее их коллег, предпочитающих C++. Разработчики заявили, что с Rust намного проще писать код и проводить его отладку. Это очередная победа 18-летнего любимого хакерами и вирусмейкерами Rust над 41-летним C++.

Дорогу молодым

Использование языка программирования Rust вместо более популярных, хотя и гораздо более старых решений, оказалось полностью оправданно. Как показал опыт Google, с помощью Rust можно вдвое увеличить производительность команды разработчиков в сравнении с использованием C++. Программисты, перешедшие на Rust, наперебой говорят о том, что он намного проще С++ во всех аспектах.

О преимуществах Rust над C++ заявил технический директор Google Ланс Бергстром (Lance Bergstrom), выступая на конференции Rust Nation UK в Лондоне (Великбритания). В команде Google Бергстром курирует, в частности разработку инструментов и библиотек для Android. Он заявил, что Google активно переносит свой софт, некогда написанный на C++, на более современный язык Rust. По его словам, Google настолько уверовал в Rust, что переписывает на нем даже код, написанный на Go, также известном как Golang – языке программирования, сознанном в недрах самого Google.

Rust – это один из самых молодых языков программирования. Его история началась в сообществе Mozilla в 2006 г. а до версии 1.0 он дорос лишь к 2015 г. Для сравнения, С++ появился на десятки лет раньше – в 1983 г. На момент выхода материала ему исполнился 41 год против 18 лет у Rust.

Программистам гораздо проще работать с Rust, чем с С++

Что примечательно, внушительный потенциал в Rust первыми разглядели хакеры и вирусмейкеры. Они стали писать свой вредоносный софт на этом языке, потому что за счет этого антивирусным системам гораздо сложнее дается их обнаружение. Параллельно они используют еще и Go, но предпочтение все же отдают Rust. Впрочем, и обычные программисты тоже постепенно переходят на Rust – относительно массовым это явление стало во второй половине 2023 г.

Сомнения еще остаются

Google – не единственная крупная ИТ-корпорация, которая всерьез задумалась о переходе с других языков программирования на Rust, но одна из немногих, кто решился на этот шаг. Бергстром привел к качестве примера облачный сервис Dropbox и софт для дизайнеров Figma, владельцы которых тоже смотрели в сторону Rust в 2016 и 2018 гг. соответственно, но так и не решились начать переход. По словам Бергстрома, их тогда смутила именно производительность труда программистов после перехода на новый язык.

Теперь же Google на собственном примере показал, что бояться падения производительности при переходе на Rust не стоит. Эти сомнения интернет-гигант развеял, но, как отметил Бергстром, опасения по поводу надежности и безопасности этого языка пока сохраняются.

Rust уже в первой двадцатке самых популярных языков программирования

«Даже шесть месяцев назад это был действительно трудный разговор, – сказал он. – Я ходил и разговаривал с людьми, и они говорили: «Подождите, подождите, у вас есть ключевое слово unsafe («небезопасный» – прим. CNews). Это означает, что мы все должны использовать C++ до тех пор, пока не наступит смерть Вселенной».

Не Google единым

Бергстром попытался развеять и эти сомнения. Выступая на конференции в Лондоне, он заявил, что код Rust при правильной реализации может в значительной степени, если не полностью, избежать таких проблем с утечками памяти – основой подавляющего большинства уязвимостей в современном ПО.

К слову, софтверная корпорация Microsoft тоже очень тепло относится к Rust. Еще в сентябре 2022 г. технический директор Microsoft Azure Марк Руссинович (Mark Russinovich) утверждал, что программные проекты, которые могли бы быть написаны на C/C++, должны использовать вместо этого Rust.

К настоящему времени данная рекомендация Русиновича давно перестала касаться исключительно новых проектов. Теперь он тоже призывает к переписыванию старого кода на Rust. В частности, ранее в 2024 г. Microsoft обратилась к разработчикам с просьбой о помощи в переносе своего код с язука C# на Rust.

Дмитрий Шулинин, UserGate: Выиграли те, кто полагался на SIEM собственной разработки
Безопасность

Amazon – еще одна крупнейшая ИТ-компания, которая разглядела в Rust потенциал. Ее крупнейший в мире облачный сервис AWS, как сообщал CNews, в начале 2022 г. отказался от всех других языков программирования именно в пользу Rust. В компании подчеркнули, что написанные на Rust программы потребляют существенно меньше ресурсов на фоне их аналогов на С и С++, что позволяет снизить общемировое энергопотребление и уменьшить нагрузку на окружающую среду.

Бергстром говорит о том же самом. «Мы видим снижение использования памяти в сервисах, которые мы перенесли с Go», – заявил он. Сравнивая Rust и С++, он сказал: «В каждом случае мы наблюдали снижение более чем в два раза объема усилий, необходимых как для создания сервисов на Rust, так и для поддержки и обновления этих сервисов, написанных на нем. И это очень важно для нас, потому что код C++ очень дорог. Это большие команды. Это большой объем работы. Существует много рисков».

Возможны грандиозные перемены

На начало апреля 2024 г. С++ входил в топ-5 самых популярных языков программирования в мире по версии Tiobe наряду с Python (он очень легок в освоении), Java (его очень любят российские программисты), С и C#. Rust находился на 17 месте, но он очень быстро прокладывает себе путь к первой десятке. Это его самый лучший результат на момент выхода материала – год назад он был на 19 месте, а начинал он с 211 места в 2012 г.

С 211 места на 17 всего за 12 лет. И потенциал не исчерпан

Бергстром сказал также, что Google проводит аналогичную миграцию разработчиков с Java на Kotlin (первый релиз в 2011 г.), и что время, необходимое для переобучения разработчиков в обоих случаях – с Java на Kotlin и с C++ на Rust – одинаково. То есть через два месяца около трети разработчиков почувствуют, что они столь же продуктивны на новом языке, как и на старом. По словам Бергстрома, чуть больше половины его разработчиков говорят, что Rust легче проверять.

Не исключено, что примеру Google, Microsoft и Amazon в обозримом будущем последуют и другие крупные компании. А с учетом количества работающих в их штате разработчиков и Kotlin, который в марте 2024 г. был на 19 месте против 35 годом ранее, и Rust быстро ворвутся сначала в топ-10, а затем и в топ-5.

Геннадий Ефремов