Это руководство по изучению Rust для тех, кто уже пишет на Python. Книга разбита на 17 глав, собранных в три части. Первая часть (главы 1–6) перекликается со знакомыми концептами из Python: типы, управление потоком, структуры данных, перечисления и pattern matching. Авторы советуют начать именно с неё. На освоение уйдёт от двух до четырёх дней. К концу первой части можно написать CLI-конвертер температур и разобраться с match на перечислениях.
Вторая часть (главы 7–12) — самое сложное для Python-разработчика: владение (ownership), заимствование, модули, обработка ошибок, трейты, обобщения, замыкания и итераторы. Тут потребуется ещё 3–5 дней. Главный чекпоинт — объяснить, почему let s2 = s1 делает s1 недействительным. И ещё один: перевести list comprehension на цепочку итераторов.
Третья часть (главы 13–17) про продвинутые темы: конкурентность (Arc<Mutex<T>>), unsafe код, интеграция с Python через библиотеку PyO3, тестирование, миграция и best practices. Финальный проект — собрать полноценное CLI-приложение; на него закладывают 2–3 дня.
Упражнения спрятаны в скрытые блоки <details>. Авторы настаивают: сначала пытаться решить задачу самостоятельно, и только если застрял на 15 минут — подсмотреть решение, закрыть и переписать с нуля. Компилятор Rust считается лучшим учителем: его сообщения об ошибках очень подробные. Для запуска без локальной установки подойдёт Rust Playground.
Сложность задач помечена эмодзи: 🟢 — прямой перевод с Python, 🟡 — надо разобраться с владением или трейтами, 🔴 — пожизненные сроки, асинхронные внутренности или unsafe. Если упёрлись в стену, авторы советуют перечитать главу 7 про владение — часто всё встаёт на место со второго захода. Отдельно хвалят документацию стандартной библиотеки Rust и рекомендуют справочник по асинхронному Rust — Async Rust Training. В итоге через пару недель интенсивной работы можно считать, что разработчик готов к настоящим проектам на Rust.