Проект Mozilla объявил о кооперации с компанией Samsung в области разработки языка программирования Rust и развития экспериментального браузерного движка Servo. Ожидается, что подключение к разработке Samsung позволит ускорить стабилизацию языка Rust и существенно подтолкнёт развитие нового браузерного движка, на разработку которого теперь будет выделяться заметно больше ресурсов.
Движок Servo написан на языке Rust и отличается поддержкой многопоточного рендеринга web-страниц и возможностью параллельного выполнения операций с DOM (Document Object Model) в процессе обработки одной web-страницы. Текущий браузерный движок Firefox не может в полной мере задействовать потенциал современных многоядерных систем из-за изначального использования однопоточных схем обработки контента. В частности, при обработке одной страницы однопоточным остается связанный с DOM (Document Object Model) внутренний API, функции формирования содержимого окна, парсинга HTML и выполнения javascript. Использование Rust позволит разбить код DOM и рендеринга на более мелкие подзадачи, которые смогут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. Кроме эффективного распараллеливания операций, используемые в Rust технологии безопасного программирования позволят кардинально поднять уровень безопасности, решив текущие проблемы с безопасностью браузеров, наглядно проявляющиеся в исправлении десятков уязвимостей в каждой новой версии.
Одновременно опубликован релиз языка программирования Rust 0.6, сфокусированного на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий (возможность порождать тысячи и даже миллионы подпроцессов). Исходные тексты проекта распространяются под лицензией MIT. Новая версия примечательна приведением к финальному виду синтаксиса и семантики языка, проведением чистки возможностей, которые не оправдали себя в процессе разработки. Также проведено заметное расширение стандартной библиотеки. Подключившаяся к разработке компания Samsung реализовала поддержку архитектуры ARM и подготовила порт для платформы Android.
Rust является языком со строгой типизацией и по структуре напоминает C++, но существенно отличается в некоторых деталях реализации синтаксиса и семантики, а также примечателен ориентацией на блочную организацию структуры кода, которая позволяет реализовать задачи в виде легковесных сопрограмм. Автоматическое управление памятью избавляет разработчика от манипулирования указателями и защищает от возникающих из-за низкоуровневой работы с памятью проблем, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Rust поддерживает смесь императивных процедурных и объектно-ориентированных методов с такими парадигмами, как функциональное программирование и модель акторов, а также обобщённое программирование и метапрограммирование, в статических и динамических стилях.
Mozilla и Samsung объявили о совместной работе над браузерным движком нового поколения
Проект Mozilla объявил о кооперации с компанией Samsung в области разработки языка программирования Rust и развития экспериментального браузерного движка Servo. Ожидается, что подключение кТакже по теме: