Аналитическая компания RedMonk опубликовала рейтинг языков программирования за третий квартал 2018 года: Rust занял в нем 23 место.
В 2013 году компания Mozilla совместно с Samsung сообщила о разработке нового механизма веб-браузера Servo. Он создавался специально для многоядерных процессоров мобильных устройств, способен разбивать задачи на параллельные потоки и многократно уменьшать время загрузки веб-страниц. Servo полностью написан на языке программирования Rust, который Mozilla разработала сама для написания мобильных приложений.
О языке
Rust – процедурный язык программирования, поддерживающий различные стили написания кода. Разработчик Грэйдон Хор начал создавать язык в 2006 году, и спустя три года к проекту подключилась Mozilla. В 2010 году Rust презентовали на конференции Mozilla Summit. В этом же году разработку перевели на компилятор, написанный на Rust. Компилятор использовал универсальную систему анализа и трансформации программ LLVM в качестве базы данных.
Первая стабильная версия языка вышла в 2015 году. После релиза альфа-версии Rust подвергся правкам – внутри компилятора оставили только готовые возможности, которые не будут изменяться. Все остальное перенесли в экспериментальный раздел.
В основе языка Грэйдон Хор заложил такие понятия как:
- Безопасность. Rust содержит ряд ограничений для программиста, которые включены по умолчанию. Для их отключения в блоках и функциях требуется метка «unsafe».
- Скорость. Язык сопоставим по скорости с другим языком программирования C++, что дает явный ряд преимуществ для программиста.
- Параллелизм. Система может выполнять несколько вычислений одновременно, вместе с этим они могут взаимодействовать друг с другом.
- Краткость. Первые ключевые слова в Rust укладывались в пять символов. Но позднее это ограничение сняли.
Пример одного из первых кодов на Rust
Однако Rust не лишен и минусов, самые яркие из них:
- Избыточность кода.
- Отсутствие литературы для изучения языка.
- Четкость во внесении параметров компиляции. Это не всегда устраивает опытных программистов, так как в других языках подобных правил нет.
Впрочем, язык регулярно модернизируется и дополняется: его обновления выходят раз в 6 недель.
Сравнение Rust с C++
Создатели Rust считают его наследником C++, который возник в начале 1980-х годов, когда разработчик придумал несколько усовершенствований к языку С. Поэтому стоит сравнить молодой и все еще изменяющийся язык с проверенным временем.
- Обращение к удаленной памяти. В C++ из-за удаления переменной может возникнуть целый ряд проблем. Подобные осложнения невозможны в Rust, так как в нем нет команд для удаления памяти. Компилятор наследника сообщит, что написанный код содержит ошибку, а компилятор С++ выведет результат без удаленных значений, даже не сообщив о проблеме.
- Точка с запятой. Добавив в код лишнюю точку с запятой, вы вызовете ошибку в С++, тогда как в Rust тело цикла заключается в фигурные скобки.
- Небезопасный код. В Rust есть метка «unsafe», которая изолирует основной код от небезопасного. В будущем, при просмотре кода это позволяет сузить поиск уязвимостей.
Именно на C++ был реализован Firefox: этот капризный язык требовал повышенного внимания к деталям. В противном случае ошибки оборачивались серьезными уязвимостями. Rust был призван справиться с этой проблемой.
Перспективы
В рейтинге RedMonk за третий квартал 2018 года язык программирования от Mozilla стабильно занимает 23 место. Эксперты полагают, что улучшение позиций ему не грозит. Несмотря на это, в августе 2018 года создатели выпустили обновленный Rust 1.28.
После релиза Rust в 2015 году, по данным площадки Stack Overflow, с ним хотели ознакомиться 74% разработчиков. Однако уже в 2016 году он переместился на первое место: 79% пользователей назвали Rust любимым языком программирования и изъявили желание продолжить работу с ним. Первое место по этому параметру Rust занял и в 2018 году.
Stack Overflow — популярная система вопросов и ответов о программировании, разработанная в 2008 году.
Рейтинг любимых языков программирования по версии Stack Overflow-2018
Популярность Rust подтверждает количество компаний, использующих его в своих разработках. В настоящее время этот список насчитывает 105 организаций.