Microsoft признала Rust языком программирования «Tier 1» для внутренних разработок

Rust Microsoft разработка безопасность Windows C++ theregister.com

Microsoft добавила Rust в список основных языков разработки. Ускорьте создание безопасного кода и избавьтесь от ошибок памяти в Windows!

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

«Rust теперь является языком первого уровня в Microsoft, что означает, что он входит в число лучших поддерживаемых языков для внутренней разработки в компании наряду с C++, C# и TypeScript», — пояснил Виктор Чюра, ведущий инженер Microsoft в команде инструментов Rust, во время основного доклада на ежегодной конференции RustConf, проходящей на этой неделе в Монреале.

Чюра отметил, что Microsoft «проложила путь» с помощью инструментов и процессов, поддерживающих локальную разработку на Rust на протяжении всего жизненного цикла разработки программного обеспечения.

Rust не является новинкой для Microsoft: он уже присутствует более чем в 100 репозиториях проектов компании. Microsoft разработала Oxidizer — набор крейтов для создания масштабируемых сервисов на Rust, которые использовались для создания и совершенствования основных сервисов Microsoft 365 (M365), таких как Outlook, Word, Excel, OneDrive и SharePoint. Технологический стек Copilot также во многом обязан Rust.

Однако самая сложная работа еще впереди. Учитывая недавний шквал исправлений в рамках Windows Patch Tuesday, несомненно, одним из основных применений Rust станет исправление уязвимого кода Windows, написанного на C/C++.

Именно для этой работы и был создан Rust. Разработчик Mozilla Грейдон Хоар создал Rust в 2006 году как побочный проект, в первую очередь как высокопроизводительный язык, который, в отличие от C и C++, защищал от ошибок памяти.

С тех пор переписывание программ на Rust для повышения производительности и минимизации ошибок стало обычной задачей для руководителей проектов, которые «рустифицировали» всё: от баз данных до менеджеров пакетов, часто с помощью ИИ.

Новые возможности

Редмонд уже проделал значительную работу, чтобы Rust удобно интегрировался с Microsoft Visual C++ (MSVC) — собственной платформой для компиляции бинарных файлов Windows.

В частности, инженеры компании создали rustc_codegen_utc — пользовательский бэкенд для генерации кода компилятора Rust, который напрямую связывает компилятор rustc с внутренним инструментарием MSVC для Windows.

«Подключение rustc к этому бэкенду позволяет Rust использовать те же платформенные инвестиции с идеальной совместимостью «из коробки», вместо того чтобы требовать параллельной реализации каждой специфичной для Windows возможности», — написал Чюра в своем блоге, подробно описывающем усилия Редмонда в области Rust. «В результате мы получили унифицированную платформу генерации кода для Rust и C++ в Windows».

Висячие указатели и чужой код

Даже при тесной интеграции Rust инженерам Microsoft предстоит немало работы. Одной из повторяющихся тем на RustConf в этом году является борьба с опасной «небезопасной» территорией, которая возникает при смешивании кода Rust и C++. Хотя компилятор Rust может обнаруживать ошибки памяти, он обычно не охватывает указатели на выделенные в C++ области памяти.

Тем не менее, переход Редмонда на Rust — долгожданное событие. В своем основном докладе на RustConf 2025 технический директор Microsoft Azure Марк Руссинович отметил, что около 70% CVE в Windows связаны с проблемами памяти.

«Я давно понял, что как бы сильно мы ни хотели улучшить C и C++, мы не сможем сделать их такими же хорошими, как то, с чего начинает Rust», — сказал он. ®

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: