Очередной пост — рецензия на книгу «Rust Atomics and Locks: Low‑Level Concurrency in Practice» авторства Мары Бос. Это руководство по работе с низкоуровневой конкуренцией в языке программирования Rust. Издание предлагает глубокое погружение в механику атомарных операций и механизмов блокировок, что делает его полезным ресурсом для разработчиков, использующих эти инструменты в своих проектах.

Об авторе

Мара Бос — основатель компании Fusion Engineering, главный эксперт Huawei по направлению Rust Programming Language, соруководитель группы разработчиков библиотеки Rust, член Совета лидеров Rust.

Книга по атомарности Rust стала большой вехой в профессиональной деятельности Мары Бос, и автор в популяризации этих знаний пошла даже на то, чтобы выложить текст книги в открытый доступ на своем сайте https://marabos.nl/atomics/.
Примеры кода из этой книги доступны на GitHub: https://github.com/m‑ou‑se/rust‑atomics‑and‑locks.

Кроме того, Мара Бос активно участвует в открытых проектах и разработке библиотек с открытым исходным кодом, внося значительный вклад в сообщество Rust. Ее профессиональная деятельность и экспертные знания делают её одной из ключевых фигур в развитии и популяризации языка Rust на международной арене.

Чтобы купить русское издание книги «Rust: атомарности и блокировки» и любую другую компьютерную литературу со скидкой 25% на сайте издательства БХВ, введите промокод SSPSOFT как подарок от нашего блога для читателей Хабра. Пока доступна бумажная версия книги, электронную можно будет приобрести ближе к осени 2024. Напомним, оригинальный текст книги автор выложила своем сайте.

Кому будет полезна эта книга

Книга "Rust Atomics and Locks" рассчитана на читателей, которые уже имеют опыт программирования, а также обладают базовыми знания языка Rust и принципов конкурентного доступа. Это может быть полезно для разработчиков, имеющих опыт работы с системами реального времени, высокопроизводительными вычислениями или разработкой многопоточных приложений. Для полного понимания материала желательно иметь также базовые знания о том, как работают многопоточность и синхронизация в других языках программирования, таких как C++ или Java.

С оглавлением русского издания книги можно ознакомиться в этом файле https://bhv.ru/pdfview/?to=view_3036_978-601-09-5050-4.pdf, а англоязычное оглавление  есть на сайте автора.

Далее, по традиции наших рецензий на книги по ИТ, пройдемся по плюсам и минусам.

Плюсы книги:

  • Актуальность этой темы для разработчиков: Язык Rust активно развивается и тема низкоуровневой конкуренции в этом языке остается актуальной.

  • Хорошее погружение в тему: Книга разбирает концепции атомарных операций и блокировок, объясняя их синтаксис и внутреннюю работу. Это позволяет читателям не просто использовать данные конструкции, но и понимать, как они функционируют на низком уровне.

  • Много конкретики: Большое количество примеров кода и практических упражнений делает материал более применимым для освоения с применением рассмотренных концепций в реальных сценариях.

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

Особенности книги (не минусы, а именно особенности):

  • Высокий порог входа: Для полного понимания материала требуется хорошая подготовка в области программирования и основ конкурентного доступа. Новичкам в программировании на Rust, книга может показаться сложной.

  • Это не руководство по языку: Книга сосредоточена исключительно на атомарных операциях и блокировках. Тем, кто ищет более обширное руководство по Rust, стоит поискать другие издания (про одно из них - ниже) .

Дополнительный материал по книге

Если вы хорошо владеете английским (или не лень читать русские субтитры), вам может быть интересно посмотреть подробный разбор книги на YouTube в режиме “Одна глава - одно видео”. Разбор делает Дэвид Маклеод, независимый эксперт по языку Rust https://www.youtube.com/playlist?list=PLfllocyHVgsR_MVp_RyBwujomqYyIGDdE.  

Что важно, Дэвид Маклеод сам является автором книги по Rust “Learn Rust in a Month of Lunches“, и это как раз то самое англоязычное руководство по освоению языка для новичков.

Если вы ищете руководство по языку Rust на русском языке, можно порекомендовать ресурс https://doc.rust‑lang.ru/book/. Вот что говорится в предисловии: «Rust разрушает барьеры [области низкоуровневого программирования], устраняя старые подводные камни и предоставляя дружелюбный, отполированный набор инструментов, который поможет вам на этом пути. Программисты, которым необходимо „погрузиться“ в низкоуровневое управление, могут сделать это с помощью Rust, не беря на себя привычный риск аварий или дыр в безопасности и не изучая тонкости изменчивых наборов инструментов. Более того, язык предназначен для того, чтобы легко вести вас к надежному коду, который эффективен с точки зрения скорости и использования памяти.»

Заключение

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

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

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

Добавим каплю рекламы от нашего блога: компания SSP SOFT приглашает на позиции инженеров QA и DevOps, системного аналитика, разработчиков на Java, JS, React и Python, 1С — см. страницу на hh.ru. Если вашей специальности нет в текущих вакансиях, все равно будем рады резюме, т.к. новые позиции в командах открываются еженедельно (пишите в Telegram или на почту job@ssp-soft.com).

Успехов в разработке на языке Rust!

Комментарии (2)


  1. middle
    25.06.2024 10:40
    +3

    Write concurent code like a Bos.


    1. domix32
      25.06.2024 10:40
      +1

      Тогда шутки про чулки для программистов будут совсем не шутками.