Очередной пост — рецензия на книгу «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!
middle
Write concurent code like a Bos.
domix32
Тогда шутки про чулки для программистов будут совсем не шутками.