Rust in Action — Рецензия

Привет, друзья. Решил поделиться своими мыслями про книгу Rust в действии, которая давненько вышла на английском языке, а недавно стала доступна на русском языке.

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

Rust in Action — наверное, одна из самых популярных книг, которую советуют как первый учебник по Расту. Это именно мой случай, я практически ничего про этот язык не знал ранее, поэтому решил начать изучение Rust с этой книги.

Tim McNamara — автор книги, довольно медийный человек в Растовой тусовке. Подкасты, прокаченный твиттер, выступления на конференциях — всё это про Тима. Но не стоит думать, что его книга стала популярна только из-за медийности. Тим действительно сильный разработчик, работает в AWS, делает много чего интересного.

Теперь про книгу. Моя ошибка была в том, что я не увидел сразу полное название книги — а именно Rust in Action — Systems programming concepts and techniques. Жирная часть тут крайне важна. Это не букварь по Расту, это книга о том, как разрабатывать системное ПО на разных примерах (крошечная виртуальная машина, HTTP клиент, база данных, операционная система и тд). Улон сделан именно в разбор различных учебных примеров из списка выше, в рамках которых понемногу даются знания и по расту. Если вы хотите просто изучить язык — идите смело в официальную, бесплатную The Book.

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

После завершения книги я чувствую, как у меня остались огромные пробелы в самых сложных топиках — Ссылки, Умные указатели, концепция Заимствования (borrowing). Ну, то есть, на пальцах я смогу объяснить примерно, что есть что. Но у меня нет никакой интуиции по использованию этих вещей, да и с первого/второго/третьего раза я не напишу правильно код, даже в простых учебных примерах.

Резюмируя выше сказанное. Хотите книгу по разработке системного ПО с примерами на Расте? Тогда Rust in Action — ваш вариант, можете смело брать. Хотите просто изучать Раст без интересных примеров — мой совет идти в The Book.

Категории: Программирование