Придёт ли Rust на смену C и C++?
Rust начинался как сторонний проект Грэйдона Хора, сотрудника Mozilla. Спустя 3 года компания официально подключилась к развитию технологии, и в 2012 году была выпущена первая версия, в 2015 — рабочая Rust 1.0. За короткий период существования языка команда Evrone начала применять его в масштабных проектах для разных индустрий и накопила большую экспертизу. Рассказываем, какими особенностями обладает молодой язык и что ждёт Rust в будущем.
Особенности Rust
Разработчики Rust стремились создать более производительный и безопасный язык, который бы закрывал недостатки C и C++.
Особенности языка:
Мощный синтаксический анализатор помогает избежать проблем в работе с многопоточностью и утечек памяти.
Если написанная на Rust программа небезопасна, она не сможет пройти стадию компиляции. В случае ошибки автоматически будут предложены варианты решения.
Компилятор Rust — многофункциональный инструмент, он включает в себя менеджер пакетов, инструменты для тестирования и генерации документации.
В Rust отсутствует сборщик мусора, а концепция владения создаёт условия для безопасной работы с памятью. Такая система исключает ошибки сегментации.
В случае ручного управления памятью разработчики используют абстракции, что значительно облегчает работу.
Язык поддерживает строгую статическую типизацию.
Из недостатков разработчики упоминают слишком строгий компилятор, отсутствие наследования и классов, которые обычно встречаются в объектно-ориентированном программировании.
Сферы применения Rust
Rust получил широкое распространение за счёт четырех характеристик, язык поддерживает процедурное, параллельное, функциональное и объектно-ориентированное программирование.
Язык применяется при разработке программного обеспечения, веб-серверов, блокчейн-продуктов, браузерных движков, веб-приложений и инфраструктуры. В экспериментальном формате Rust используется даже в машинном обучении.
Примеры продуктов, разработанных на Rust:
Mozilla активно применяет Rust в работе над своими продуктами, один из примеров — браузерный движок Servo.
Больше 98% блокчейн-экосистемы Polkadot написано на Rust.
Технология виртуализации Firecracker, созданная для управления окружениями, работающими на бессерверной модели.
Coursera выбрала Rust для написания инструментов для оркестрации контейнеров.
Хостинг Dropbox мигрировал часть своей инфраструктуры на компоненты на Rust.
Будущее языка
У Rust есть большой потенциал, язык активно развивается и стремится предложить решение недочётов C, C++ и других языков. Rust уже занимает лидирующие позиции на Stack Overflow и вызывает большой интерес у разработчиков. Заменит ли он языки C, мы узнаем только через 10 или 20 лет.
_________________
Команда Evrone использовала Rust в разработке CRM-системы для крупной ресторанной сети, нам удалось написать высоконагруженный микросервис, который отвечает за распространение публичной информации о заведениях. Также мы создали Vexor, инструмент для непрерывной интеграции. На Rust написаны системы диспетчеризации задач и логирования, агент для управления изоляцией задач, функция автоматической закупки мощностей.
Наш опыт подсказывает, что интерес и востребованность Rust будут только расти. Если вы хотите ощутить преимущества Rust в работе своего проекта, напишите нам.