Share This
Связаться со мной
Крути в низ
Categories
//⚙ Rust – это новый C++ или очередная экзотика?

⚙ Rust – это новый C++ или очередная экзотика?

Язык программирования Rust приходит на смену С++. Правда это или нет, давайте разбираться.

rust eto novyj c ili ocherednaja ekzotika e28947d - ⚙ Rust – это новый C++ или очередная экзотика?

Новые языки программирования похожи на звезды. Некоторые загораются и тухнут, в то время как другие продолжают освещать путь программисту. Все мы знаем, как сложно матерому разработчику со стажем поменять основной язык на созданный относительно недавно. Опытные специалисты довольно разборчивы и не каждый из них готов менять свои предпочтения. Однако появился язык, удовлетворяющий потребности многих программистов и решающий большинство современных задач разработки – Rust.

Rust был создан в 2010 году в Mozilla Research и стал позиционироваться как более надежная и безопасная альтернатива C ++. Это статический многопарадигменный язык программирования с эффективным использованием памяти, ориентированный на скорость, безопасность и производительность. Он используется для разработки игровых движков, файловых систем, веб-сайтов и инструментов, операционных систем, компонентов браузера и многого другого.

Rust поддерживает как императивное, так и функциональное программирование. Для разработки корпоративных приложений его используют в DropBox, Mozilla и Coursera, а поддерживают такие ИТ-гиганты, как Microsoft, Facebook и Intel. Что же в Rust такого особенного? Давайте разбираться.

Почему Rust?

Феномен Rust обусловлен некоторыми особенностями языка:

  • Во-первых, у него отличная документация, ласково названная разработчиками «книгой». В этой самой книге все доходчиво расписано и понятно даже далекому от программирования человеку.
  • Rust имеет очень удобный компилятор и первоклассные инструменты для работы: интегрированные менеджеры пакетов и мультиредактор.
  • Он очень быстр, предотвращает сбои и по умолчанию безопасен.
  • Язык решает проблемы, с которыми в течение долгого времени боролись программисты на C и C ++ , а именно с ошибками памяти и сложностью создания параллельных программ.

Чем Rust лучше других?

Rust – это системный язык программирования с открытым исходным кодом, фокусирующийся на скорости и безопасности памяти. Разработчики используют Rust для создания широкого спектра новых приложений.

Rust был разработан с нуля и включает элементы и дизайн проверенных временем языков системного программирования. Он сочетает выразительный и интуитивно понятный синтаксис языков высокого уровня с контролем и производительностью низкоуровневых языков. Такое сочетание предотвращает ошибки сегментации, гарантирует безопасность потоков и дает разработчикам возможность писать быстрый и правильный код.

Используя Rust, можно создавать менее подверженные ошибкам и уязвимостям безопасности программы за счет мощных функций управления памятью. Кроме того, Rust – проект с открытым исходным кодом, и активное сообщество разработчиков поддерживает его и продолжает добавлять новую функциональность и удобные инструменты. Например, компилятор языка генерирует очень точные и информативные сообщения об ошибках, выделяет проблемный код и рекомендует способы его исправления.

Rust имеет инструменты для разработки кроссплатформенных приложений и отлично подходит для сред с низким уровнем ресурсов, а существующие плагины для популярных IDE (Visual Studio Code от Microsoft и IntelliJ от JetBrains) дают неплохие возможности для экспериментов с кодом.

Немного статистики

С 2015 года Rust был признавался разработчиками любимым языком программирования в опросе разработчиков Stack Overflow четыре года подряд (в 2016-м, 2017-м, 2018-м и 2019-м):

rust eto novyj c ili ocherednaja ekzotika a5ce5a6 - ⚙ Rust – это новый C++ или очередная экзотика?

Источник: Stack Overflow

Год назад, Rust вошел в ТОП-10 языков программирования по величине зарплат разработчиков, работающих на нем:

rust eto novyj c ili ocherednaja ekzotika 79b87c0 - ⚙ Rust – это новый C++ или очередная экзотика?

Источник: Stack Overflow.

По данным все того же опроса Stack Overflow, Rust входит в пятерку самых популярных языков программирования:

rust eto novyj c ili ocherednaja ekzotika a071c46 - ⚙ Rust – это новый C++ или очередная экзотика?

Источник: Stack Overflow

Rust впервые вошел в список двадцати самых популярных языков программирования TIOBE в 2020 году. А в прошлогоднем обзоре Reddit он стал вторым по популярности языком программирования после Python.

rust eto novyj c ili ocherednaja ekzotika 68522f6 - ⚙ Rust – это новый C++ или очередная экзотика?

Источник: Reddit

Cargo

Rust имеет систему сборки и одновременно менеджер пакетов под названием Cargo. Она управляет построением кода, загрузкой библиотек, запуском тестов, генерацией документации и помогает с управлением зависимостями при создании сложных программ.

Система сборки Cargo признана одной из самых сильных сторон экосистемы Rust. Без нее разработчикам пришлось бы искать и загружать необходимые куски кода из неизвестных источников на GitHub, создавать пакеты статических библиотек и связывать их с программой. Cargo делает все это сама без постороннего вмешательства. Эта удобная штука вшита в установочный пакет и идет в комплекте с языком.

Использование Rust в реальном мире

Кроме разработчика языка, корпорации Mozilla, использующей Rust для браузерного движка Servo и большинства проектов связанных с Firefox, довольно много компаний применяют его в своих проектах. Firecracker от Amazon Web Services полностью написан на Rust, а популярные ИТ-компании Discord, npm, Cloudflare, Figma и другие успешно разрабатывают на нем программное обеспечение.

Выступая на RustFest Barcelona полтора года назад, инженеры Microsoft Райан Левик и Себастьян Фернандес рассказали о проблемах и преимуществах внедрения нового языка и о попытках переписать на Rust низкоуровневые компоненты Windows.

По их словам, индустрия программного обеспечения стоит на небезопасной технологической основе, которая обходится корпорации слишком дорого. По самым скромным оценкам Microsoft, любая проблема с программным обеспечением стоит около 150 000 долларов в день. Расходы могут быть еще выше для организаций, ставших жертвами уязвимостей системы безопасности. Именно так и было с британской национальной системой здравоохранения, которой атака вымогателя обошлась в 4 миллиарда долларов. По словам экспертов, в большинстве случаев такой ущерб связан с использованием C/C ++.

C и C ++ отлично подходят для написания низкоуровневых систем и используют мало ресурсов машины. Фактически они являются основой, на которой мы создаем наши системы сегодня. Однако проблема заключается в том, что они очень и очень небезопасны. Когда они разрабатывались, мало кто про думал про безопасность. Себастьян Фернандес

Поэтому в Microsoft начали экспериментировать с Rust, видя в нем спасение.

Rust позволит нам безопасно писать высокопроизводительные, критически важные компоненты. Райан Левик

Впрочем, эксперт оговорился, что такая точка зрения ожидает подтверждения, и он надеется, что утверждение окажется правдой.

Основным препятствием на пути к этой цели является невозможность переписать на Rust огромное количество унаследованного кода из-за объема работы и проблем сосуществования нового языка с рядом других технологий. В дополнение к этому Rust должен быть принят разработчиками ПО, использующими C/C ++ в течение многих лет. Они должны убедиться в удобстве перехода. Помимо этого Microsoft уже использует Rust в проекте для тестирования модулей WebAssembly в Kubernetes.

Начавший кампанию по переписыванию низкоуровневых системных компонентов Windows инженер-программист Адам Берч охарактеризовал Rust как глоток свежего воздуха:

Предоставляемые компилятором гарантии безопасности памяти и данных дают разработчику гораздо большую уверенность в том, что компиляция кода будет правильной.

Берч разделяет оптимизм Фернандеса и Левика по поводу того, что разработчики на C/C++ быстро овладеют этим языком, и включил несколько интересных практических предложений по взаимодействию Rust с унаследованным кодом в руководство под названием generation of Rust data structure to represent C data.

Amazon, Google, Intel и Red Hat заинтересованы в развитии языка – они запустили совместный проект «rust-vmm». Несколько десятков репозиториев собраны в один на GitHub: компании размещают там боксы с обновлениями старых решений и новыми фичами, чтобы делится ими друг с другом и с остальным сообществом. ***

В нынешней ситуации при создании проектов нельзя забывать о безопасности, поэтому Rust сейчас на подъеме, и все больше компаний выбирают этот уникальный язык. В России он пока не так популярен, но уже очевидно – у Rust большое будущее. Если вы собираетесь начать новый проект или задумываетесь о карьере системного программиста, современную альтернативу морально устаревшим C и C++ стоит хотя бы рассмотреть.

  • 14 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Свежие комментарии

    Рубрики

    About Author 01.

    blank
    Roman Spiridonov

    Моя специальность - Back-end Developer, Software Engineer Python. Мне 39 лет, я работаю в области информационных технологий более 5 лет. Опыт программирования на Python более 3 лет. На Django более 2 лет.

    Categories 05.

    © Speccy 2022 / All rights reserved

    Связаться со мной
    Close