Microsoft в рамках экспериментального проекта Verona развивает новый язык программирования, основанный на Rust и ориентированный на разработку защищённых приложений, не подверженных типовым проблемам с безопасностью, сообщает OpenNET. Исходные тексты текущих наработок в ближайшее время планируется открыть под лицензией Apache 2.0.
Рассматривается возможность использования развиваемого языка в том числе для переработки низкоуровневых компонентов Windows с целью блокирования потенциальных проблем, всплывающих при применении C и C++. Безопасность кода повышается за счёт автоматического управления памятью, которое избавит разработчиков от необходимости манипулировать указателями и защитит от проблем, возникающих из-за низкоуровневой работы с памятью. К таким относятся обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.
Основное отличие Verona от Rust — применение модели владения на основе групп объектов, а не единичных объектов. Данные в Verona рассматриваются как структуры, представляющие собой коллекции объектов. Проверки заимствования и контроль владения производятся в привязке к группе объектов, что позволяет обеспечить безопасность при манипуляциях с составными структурами и лучше отражает уровень абстракции, обычно применяемый при разработке.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.