Восемь учебных курсов по Rust на русском языке: от основ языка и перехода с C/C++, C#, Python до асинхронного программирования, продвинутых паттернов, корректности на уровне типов и инженерной практики в продакшене.
Каждую книгу можно читать отдельно, но порядок в таблице ниже соответствует естественному пути обучения. Текст — на русском. Код, имена крейтов, команды и сообщения компилятора остаются на английском, как принято в экосистеме Rust.
Важно: это учебные материалы, а не авторитетный справочник. Мы стремимся к точности, но ключевые детали сверяйте с официальной документацией Rust и Rust Reference.
Читать онлайн: r007.github.io/RustTraining-Rus Исходный код: github.com/r007/RustTraining-Rus
Выберите книгу, которая соответствует вашему опыту. Книги сгруппированы по сложности:
| Уровень | Описание |
|---|---|
| 🟢 Мост | Изучение Rust для тех, кто пришёл из другого языка. Начните отсюда |
| 🔵 Погружение | Углублённое изучение крупной подсистемы Rust |
| 🟡 Продвинутый | Паттерны и приёмы для опытных Rust-разработчиков |
| 🟣 Эксперт | Передовые техники на уровне типов и корректности |
| 🟤 Практики | Инженерия, инструменты и готовность к продакшену |
| Книга | Уровень | Для кого |
|---|---|---|
| Практический курс Rust | 🟢 Мост | Основы языка, многозадачность, веб, FFI, Python и встраиваемые системы |
| Rust для программистов на C/C++ | 🟢 Мост | Семантика перемещения, RAII, FFI, embedded, no_std |
| Rust для программистов C# | 🟢 Мост | Swift / C# / Java → владение и система типов |
| Rust для программистов на Python | 🟢 Мост | От динамической типизации к статической, конкурентность без GIL |
| Async Rust | 🔵 Погружение | Tokio, потоки (streams), отмена и безопасность при отмене |
| Паттерны Rust | 🟡 Продвинутый | Pin, аллокаторы, lock-free-структуры, unsafe |
| Корректность на уровне типов | 🟣 Эксперт | Typestate, phantom-типы, capability-токены |
| Инженерные практики Rust | 🟤 Практики | Build-скрипты, кросс-компиляция, CI/CD, Miri |
Книги содержат диаграммы Mermaid, редактируемые песочницы Rust, упражнения и полнотекстовый поиск.
Совет: читайте книги на сайте: там есть навигация по боковой панели и поиск.
Локальный просмотр: для работы без интернета или при участии в разработке (сначала установите Rust):
git clone https://github.com/r007/RustTraining-Rus.git cd RustTraining-Rus cargo install mdbook mdbook-mermaid cargo xtask serve # собирает все книги и запускает сервер: http://localhost:3000
- The Rust Programming Language: основа, на которой строится всё остальное
- Jon Gjengset: глубокие стримы о внутреннем устройстве Rust, серия
Crust of Rust - withoutboats: дизайн async,
Pinи модель futures - fasterthanlime (Amos): системное программирование с нуля и подробные разборы
- Mara Bos: Rust Atomics and Locks, примитивы конкурентности
- Aleksey Kladov (matklad): идеи о rust-analyzer, дизайне API и обработке ошибок
- Niko Matsakis: дизайн языка, внутреннее устройство borrow checker, Polonius
- Rust by Example и Rustonomicon: практические паттерны и углублённое изучение unsafe
- This Week in Rust: находки сообщества, которые повлияли на многие примеры
- Binary Musings — Tag(Rust): глубокое погружение во внутреннее устройство Rust
- Tweede golf: открытый курс Rust для профессионального обучения, на основе которого подготовлена книга Практический курс Rust
- …и многие другие участники сообщества Rust, чьи статьи, доклады, RFC и обсуждения на форумах легли в основу этих материалов. Их слишком много, чтобы перечислить поимённо, но мы искренне благодарны каждому
Исправления опечаток, неточностей, перевода и примеров приветствуются. Порядок работы и стиль перевода описаны в CONTRIBUTING.md. Сообщить об уязвимости можно по правилам из SECURITY.md.
Сборка, просмотр и редактирование книг локально
Установите Rust через rustup, если у вас его ещё нет, затем выполните:
cargo install mdbook@0.4.52 mdbook-mermaid@0.14.0git clone https://github.com/r007/RustTraining-Rus.git
cd RustTraining-Ruscargo xtask build # собрать все книги в site/ (для локального просмотра)
cargo xtask serve # собрать и запустить на http://localhost:3000
cargo xtask deploy # собрать все книги в docs/ (для GitHub Pages)
cargo xtask clean # удалить site/ и docs/Чтобы собрать или запустить одну книгу:
cd c-cpp-book && mdbook serve --open # http://localhost:3000Сайт публикуется на GitHub Pages при push в main через .github/workflows/pages.yml. Вручную ничего делать не нужно, но в настройках репозитория должен быть выбран источник GitHub Actions (Settings → Pages → Build and deployment).
Контейнер для самостоятельного хостинга описан в docker/README.md.
- Код (включая
xtask, примеры и конфигурацию сборки) распространяется по лицензии MIT. - Текст книг и документация распространяются по лицензии Creative Commons Attribution 4.0 International (CC BY 4.0), за исключением книги Практический курс Rust. Она основана на материалах Tweede golf, которые распространяются по лицензии CC BY-SA 4.0, поэтому её перевод распространяется по той же лицензии.
Материалы основаны на оригинальном курсе Rust Training, распространяемом по тем же лицензиям. Авторские уведомления оригинала сохранены в файлах LICENSE и LICENSE-DOCS. Русский перевод и адаптацию выполнили участники проекта RustTraining-Rus.
Названия языков, инструментов и библиотек (Rust, Cargo, Tokio, .NET, mdBook и другие) принадлежат их правообладателям. Для юридических формулировок приоритет имеет английский текст файлов лицензий.