И несколько примеров использования, чтобы вдохновить вас

В этом посте я хотел бы обсудить, с какой литературы я бы порекомендовал начать изучение языка программирования Rust, и я хотел бы обсудить, насколько полезным может быть этот язык не только для системного программирования, но и для микросервисов, веб-приложений. разработка, приложения в технологии Blockchain; даже разработка игр.
Итак, что такое ржавчина?
По словам Кшиштофа Врубеля из Codilime,
Rust — это язык программирования со статической типизацией, разработанный для повышения производительности и безопасности, особенно для безопасного параллелизма и управления памятью. Его синтаксис похож на синтаксис C++. Это проект с открытым исходным кодом, первоначально разработанный в Mozilla Research.
Это язык, созданный для обеспечения безопасности, возможно, столь необходимое улучшение по сравнению с C и C++, и единственное, что мешает вам изучить и использовать этот язык, — это предположения о его практичности.
Итак, для кого Rust? Варианты использования
Mozilla, где зародился Rust, очень хорошо подытожила этот вопрос.
Выдержка из Szmozsánszky István в Mozilla:
Я хочу взломать аппаратное обеспечение или написать приложения для Интернета вещей
Эпоха IoT и расширение движения производителей обеспечивают настоящую демократизацию аппаратных проектов. Будь то Raspberry Pi, Arduino или один из молодых титанов, таких как BeagleBone или Tessel, вы можете выбирать из множества языков для кодирования своих аппаратных проектов, включая Python или JavaScript.
Однако бывают случаи, когда предлагаемая этими языками производительность просто недостаточна. В других случаях аппаратное обеспечение микроконтроллера, к которому вы стремитесь, не подходит для времени выполнения, требуемого для этих языков: медленные чипы с крошечными резервами памяти и приложения со сверхнизким энергопотреблением по-прежнему требуют языка, близкого к металлу. Традиционно этим языком был C, но, как вы могли догадаться, Rust — новичок в этом блоке.
Rust поддерживает множество экзотических платформ. Хотя некоторые из них все еще являются экспериментальными, поддержка включает в себя общее оборудование ARM, доску для разработки TIVA от Texas Instruments и даже Raspberry Pi.
Я работаю с высокопроизводительными вычислительными приложениями, которые масштабируются до нескольких ядер.
Исследования показывают, что Rust уже отлично подходит для HPC (высокопроизводительных вычислений). Вам даже не нужно переписывать все ваше приложение на Rust: его гибкий Интерфейс внешних функций (FFI) обеспечивает эффективные привязки C, которые позволяют вам открывать и вызывать код Rust без каких-либо заметных накладных расходов. Это позволяет вам переписывать приложение модуль за модулем, постепенно переходя к лучшему опыту разработчиков, что приведет к производительности на уровне старого кода или выше. Вы также получаете более удобную в сопровождении кодовую базу с меньшим количеством ошибок, которая лучше масштабируется на большом количестве ядер.
Мне просто нужно что-то быстро!
Rust отлично подходит для перезаписи чувствительных к производительности частей вашего приложения. Он хорошо взаимодействует с другими языками через FFI и имеет крошечную среду выполнения, которая в большинстве случаев конкурирует с C и C++, даже при ограниченных ресурсах.
Начните с чтения
Программное обеспечение и соборы очень похожи — сначала мы их строим, а потом молимся — Сэм Редвин
На мой взгляд, нет такого языка, как Rust. При этом предполагается, что вы сначала прочитаете то, что я назову Библией Rust:
Авторы: Стив Клабник и Кэрол Николс
Книга охватывает все, от установки набора инструментов Rust, зависимостей с помощью собственного диспетчера пакетов Rust: Cargo, вплоть до написания небольших приложений после каждой главы.
Отсюда возможности безграничны, но я настоятельно рекомендую проверить
От нуля до производства в Rust:
Взвешенное введение в бэкенд-разработку
Автор: Лука Пальмиери
Эта книга предназначена для современного мира: облачная разработка, работа в команде и управление меняющимся, постоянно меняющимся технологическим ландшафтом, что, я думаю, делает эту книгу обязательной к прочтению.
По словам Луки:
Zero To Production сосредоточится на задачах написания облачных приложений в команде из четырех или пяти инженеров с разным уровнем опыта и квалификации.
Таким образом, Zero To Production будет широко охватывать темы, которые могут показаться второстепенными для чистой разработки внутренних приложений. Но облачное программное обеспечение — это все о радуге и DevOps, поэтому мы потратим много времени на темы, традиционно связанные с созданием операционных систем. Мы расскажем, как настроить ваше приложение Rust для сбора журналов, трассировок и метрик, чтобы иметь возможность наблюдать за нашей системой.
Продолжить обучение
Есть много мест, где можно отточить свое мастерство, но я рекомендую использовать некоторые из этих инструментов в вашем распоряжении.
Продолжайте учиться с https://learning-rust.gitbook.io/book/
Используйте Rust Playground для песочницы в браузере для тестирования кода
Познакомьтесь с этими популярными курсами Udemy:
https://www.udemy.com/course/rust-lang/
https://www.udemy.com/course/rust-fundamentals/
https://www.youtube.com/c/RustVideos/featured
Что теперь?
После того, как вы прочитали литературу по Rust и ознакомились с уникальными конструкциями Rust, вы готовы изучить то, что может предложить Rust.
Уникальные проекты

Из Википедии
Другие известные проекты и платформы
- Discord использует Rust для частей своего бэкенда, а также для кодирования видео на стороне клиента, чтобы расширить базовую инфраструктуру, написанную на Эликсире.
- Microsoft Azure IoT Edge, платформа, используемая для запуска сервисов Azure и искусственного интеллекта на устройствах IoT, имеет компоненты, реализованные на Rust.
- Amethyst и Bevy — это управляемые данными игровые движки, созданные на Rust.
- Polkadot (криптовалюта) — платформа блокчейн, написанная на Rust.
- Ruffle — это эмулятор SWF с открытым исходным кодом, написанный на Rust.
- TerminusDB, база данных графов с открытым исходным кодом, предназначенная для совместного создания и курирования графов знаний, написана на Prolog и Rust.
- Amazon Web Services имеет несколько проектов, написанных на Rust, в том числе Firecracker, решение для виртуализации, и Bottlerocket, дистрибутив Linux и решение контейнеризации.
Спасибо за прочтение! Я надеюсь, что эта статья была полезной для всех, кто начинает изучать Rust. Не стесняйтесь обращаться ко мне на Linkedin!