Ни строчки на C++. Microsoft хочет полностью заменить свою кодовую базу — возможно, уже к 2030 году
NewsMakerИнженер Microsoft Гален Хант рассказал о планах компании.
Microsoft поставила амбициозную цель: к 2030 году полностью избавиться от кода на C и C++ в своих продуктах, переписав его на Rust. Об этом рассказал выдающийся инженер компании Гален Хант в своём посте на LinkedIn .
Для достижения этой цели Microsoft планирует использовать комбинацию искусственного интеллекта и алгоритмов. Хант описывает ориентир команды формулой «один инженер, один месяц, миллион строк кода». Компания уже создала инфраструктуру для обработки кода, которая строит масштабируемый граф над исходным кодом, а затем применяет ИИ-агентов для внесения изменений.
Сейчас Microsoft ищет главного инженера-программиста , который займётся развитием инструментов для перевода крупнейших систем компании с C и C++ на Rust. Работа предполагает три дня в неделю в офисе в Редмонде с зарплатой от 140 до 275 тысяч долларов в год.
В отличие от C и C++, Rust — язык с безопасной работой с памятью. Он использует автоматическое управление памятью, что позволяет избежать ошибок чтения и записи за пределами выделенной области, а также обращений к уже освобождённой памяти. Такие уязвимости традиционно дают злоумышленникам возможность получить контроль над устройствами. В последние годы правительства разных стран призывают к повсеместному переходу на языки с безопасной работой с памятью — и особенно на Rust — для повышения безопасности программного обеспечения.
Microsoft и раньше делала шаги в этом направлении. В 2022 году технический директор облачного подразделения Azure предложил сделать Rust языком по умолчанию для новых проектов. Учёные компании работали над инструментом автоматического преобразования некоторого кода на C в Rust, а также создали средства для написания драйверов Windows на этом языке.
Масштаб задачи впечатляет: только онлайн-порталов для управления продуктами Microsoft насчитывается более пятисот. Переписать всё это — задача поистине грандиозная, и наверняка в процессе обнаружится множество особых случаев, с которыми автоматика не справится.
Microsoft поставила амбициозную цель: к 2030 году полностью избавиться от кода на C и C++ в своих продуктах, переписав его на Rust. Об этом рассказал выдающийся инженер компании Гален Хант в своём посте на LinkedIn .
Для достижения этой цели Microsoft планирует использовать комбинацию искусственного интеллекта и алгоритмов. Хант описывает ориентир команды формулой «один инженер, один месяц, миллион строк кода». Компания уже создала инфраструктуру для обработки кода, которая строит масштабируемый граф над исходным кодом, а затем применяет ИИ-агентов для внесения изменений.
Сейчас Microsoft ищет главного инженера-программиста , который займётся развитием инструментов для перевода крупнейших систем компании с C и C++ на Rust. Работа предполагает три дня в неделю в офисе в Редмонде с зарплатой от 140 до 275 тысяч долларов в год.
В отличие от C и C++, Rust — язык с безопасной работой с памятью. Он использует автоматическое управление памятью, что позволяет избежать ошибок чтения и записи за пределами выделенной области, а также обращений к уже освобождённой памяти. Такие уязвимости традиционно дают злоумышленникам возможность получить контроль над устройствами. В последние годы правительства разных стран призывают к повсеместному переходу на языки с безопасной работой с памятью — и особенно на Rust — для повышения безопасности программного обеспечения.
Microsoft и раньше делала шаги в этом направлении. В 2022 году технический директор облачного подразделения Azure предложил сделать Rust языком по умолчанию для новых проектов. Учёные компании работали над инструментом автоматического преобразования некоторого кода на C в Rust, а также создали средства для написания драйверов Windows на этом языке.
Масштаб задачи впечатляет: только онлайн-порталов для управления продуктами Microsoft насчитывается более пятисот. Переписать всё это — задача поистине грандиозная, и наверняка в процессе обнаружится множество особых случаев, с которыми автоматика не справится.