Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Rust для программистов на Python: полное учебное руководство

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

Как пользоваться этой книгой

Формат самостоятельного изучения: сначала пройдите часть I (гл. 1–6), она тесно связана с понятиями Python, которые вы уже знаете. Часть II (гл. 7–12) знакомит с идеями, специфичными для Rust, такими как владение и трейты. Часть III (гл. 13–16) посвящена продвинутым темам и миграции.

Рекомендации по темпу:

ГлавыТемаПримерное времяКонтрольная точка
1–4Настройка, типы, управление потоком выполнения1 деньВы можете написать CLI-конвертер температур на Rust
5–6Структуры данных, перечисления, сопоставление с образцом1–2 дняВы можете определить перечисление с данными и исчерпывающе разобрать его через match
7Владение и заимствование1–2 дняВы можете объяснить, почему let s2 = s1 делает s1 недействительным
8–9Модули, обработка ошибок1 деньВы можете создать многофайловый проект, который передаёт ошибки дальше с помощью ?
10–12Трейты, обобщения, замыкания, итераторы1–2 дняВы можете перевести list comprehension в цепочку итераторов
13Конкурентность1 деньВы можете написать потокобезопасный счётчик с Arc<Mutex<T>>
14Unsafe, PyO3, тестирование1 деньВы можете вызвать функцию Rust из Python через PyO3
15–16Миграция, лучшие практикиВ своём темпеСправочный материал: обращайтесь к нему при написании реального кода
17Итоговый проект2–3 дняСоздайте полноценное CLI-приложение, которое объединяет всё изученное

Как работать с упражнениями:

  • В главах есть практические упражнения в сворачиваемых блоках <details> с решениями
  • Всегда сначала попробуйте решить упражнение и только потом раскрывайте решение. Борьба с borrow checker — часть обучения, а сообщения компилятора — ваш учитель
  • Если вы застряли больше чем на 15 минут, раскройте решение, изучите его, затем закройте и попробуйте снова с нуля
  • Rust Playground позволяет запускать код без локальной установки

Индикаторы сложности:

  • 🟢 Начальный: прямой перевод понятий из Python
  • 🟡 Средний: требует понимания владения или трейтов
  • 🔴 Продвинутый: времена жизни, внутреннее устройство async или unsafe-код

Если вы упёрлись в стену:

  • Внимательно читайте сообщение компилятора: ошибки Rust исключительно полезны
  • Перечитайте нужный раздел. Концепции вроде владения (гл. 7) часто становятся понятны при втором прочтении
  • Документация стандартной библиотеки Rust отличная: ищите любой тип или метод
  • Более глубокие async-паттерны описаны в сопутствующем курсе Async Rust

Содержание

Часть I — Основы

1. Введение и мотивация 🟢

2. Начало работы 🟢

3. Встроенные типы и переменные 🟢

4. Управление потоком выполнения 🟢

5. Структуры данных и коллекции 🟢

6. Перечисления и сопоставление с образцом 🟡

Часть II — Ключевые концепции

7. Владение и заимствование 🟡

8. Крейты и модули 🟢

9. Обработка ошибок 🟡

10. Трейты и обобщения 🟡

11. Трейты From и Into 🟡

12. Замыкания и итераторы 🟡

Часть III — Продвинутые темы и миграция

13. Конкурентность 🔴

14. Unsafe Rust, FFI и тестирование 🔴

15. Паттерны миграции 🟡

16. Лучшие практики 🟡


Часть IV — Итоговый проект

17. Итоговый проект: CLI-менеджер задач 🔴