Показать Телефон

Почему разработчики учат Rust (и используют его вместо C и C++)

Одной из догм компании Evrone является стремление разработчиков к развитию и расширению своей экспертизы. И когда в начале прошлого года мы говорили о планах, среди многих коллег звучало пожелание «прокачать» свои навыки в новых языках. И самым желанным стал RUST!

В полной версии статьи расскажем, почему нас привлекает RUST, порассуждаем о преимуществах и недостатках технологии, какое применение он находит в клиентских проектах (например в разработке Blockchain) и какое будущее его ждёт.

Что особенного в Rust?

  • Лаконичный синтаксис с ключевиками, похож на синтаксис C.
  • Кодовый анализатор, помогающий не допускать утечек памяти и не совершать ошибок при работе с многопоточностью.
  • Самостоятельное управление расположением данных в памяти (используя указатели).
  • Нет garbage collection.
  • Мощная статистическая типизация.

История языка.

Разработкой языка занялся в свободное время сотрудник Mozilla Грэйдон Хор 14 лет назад, в 2006. Три года он действовал самостоятельно, пока в 2009-м к работе официально не подключилась Mozilla. В 2010 Rust был представлен официально.

Первый альфа-релиз языка состоялся в 2012. На Rust был разработан Servo, движок для веб-браузеров. В 2013 к работе над Servo присоединился Samsung, в результате чего код Servo был портирован на ARM-архитектуру.

Rust 1.0 вышел в 2015. В свой первый год Rust взял бронзу в голосовании «Любимый язык программирования» на портале Stack Overflow. Все последующие годы Rust занимает только первое место.

Преимущества и недостатки.

Аргументы «за»:

  • без проблем работает на Unix и Mac;
  • есть абстракции, которые существенно упрощают регулирование памяти вручную;
  • надёжная система взаимодействия с памятью, исключающая ошибки сегментации;
  • автоматическое представление способов исправить ошибки при компиляции;
  • компилятор содержит сборщик и менеджер пакетов, инструменты для тестирования и создания документации;
  • в безопасном коде нет возможности применять указатели (только ссылки на 100% реальные объекты);
  • доступное описание ошибок в шаблонах.

Аргументы «против»:

  • Компилятор слишком строго фиксирует вызовы к памяти;
  • Нет типичных для ООП-стиля наследования и классов.

Где нужен Rust?

Код на Rust соответствует четырём главным концепциям в программировании: процедурное, параллельное, функциональное и ООП. Поэтому Rust — разносторонний язык, который можно применять во многих сферах. Например:

  • программирование клиентских приложений и веб-серверов;
  • blockchain;
  • создание собственных ОС;
  • написание программ и приложений по мониторингу систем и серверов;
  • разработка ПО общего назначения;
  • создание инфраструктуры;
  • написание движков для браузеров и игр.
  • Вы — разработчик и хотите защитить честь C и C++ ?
  • Вы пробовали писать на RUST и вам не понравилось?
  • У вас есть свой бизнес и вы выбираете стек технологий, на котором писать свой продукт?
  • А может быть у вас стартап и вы хотите разработку на Blockchain? Го в комментарии, мы создали.  Читайте на сайте в русской или английской версии:

https://evrone.com/rust

https://evrone.com/rust-vs-c