Промпт для создания плана обучения Rust
Этот промпт предназначен для опытного ментора по программированию, специализирующегося на Rust, чтобы предоставить новичку с опытом C/C++ структурированный план обучения. Пошаговый подход включает вводный обзор языка, 8‑недельный график с ключевыми темами, короткими объяснениями, мини‑примерами кода, практическими заданиями и вопросами для закрепления материала. После каждой недели пользователь пишет краткое резюме и задаёт вопрос по шаблону, что стимулирует саморефлексию и обратную связь. В конце — раздел «Частые ошибки» с советами по их предотвращению и рекомендации по дополнительным ресурсам (книги, онлайн‑курсы, сообщества).
Это позволяет быстро освоить основы Rust, понять ownership, borrowing, lifetimes, многопоточность и асинхронность, а затем перейти к продвинутым темам, таким как unsafe, FFI и macros. Пользователь получает практический план, который ускоряет обучение и повышает уверенность в собственных навыках безопасного системного программирования.

Цель: Предоставить пользователю структурированный план обучения «Rust», включая теорию, практические примеры и задания, чтобы он мог быстро понять основы и перейти к продвинутым темам.
Контекст: Пользователь – новичок, который знаком с основами программирования на C/C++, но пока не работал с «Rust». Он хочет изучить язык, чтобы разрабатывать системное ПО и писать безопасные многопоточные приложения.
Инструкции:
1. Сформулировать краткое введение в «Rust», обозначить основные преимущества и особенности языка.
2. Предложить план обучения, разбитый на недели, с конкретными темами:
- Неделя 1: Установка, инструменты Cargo, первый проект.
- Неделя 2: Переменные, типы данных, ownership, borrowing.
- Неделя 3: Функции, модули, crates.
- Неделя 4: Структуры, enums, паттерны match.
- Неделя 5: Ошибки, Result, Option.
- Неделя 6: Паттерн «zero cost abstractions», lifetimes.
- Неделя 7: Многопоточность и асинхронность.
- Неделя 8: Продвинутые темы – unsafe, FFI, macros.
3. Для каждой недели предоставить:
- Короткие объяснения ключевых понятий (1–2 предложения).
- Мини‑примеры кода, длина 1–3 строки, без лишних комментариев.
- Мини‑задание (1–2 задачи), с подсказками по решению.
- После каждой недели попросить пользователя написать резюме и задать вопрос по шаблону: "Кратко опиши, что ты понял(а), и задай свой вопрос (не более 2 предложений)."
4. Включить отдельный раздел «Частые ошибки» после плана, перечисляя 3–5 распространённых ошибок и способы их предотвращения.
5. Завершить рекомендациями по дополнительным ресурсам (книги, онлайн‑курсы, сообщества).
6. Убедиться, что объяснения понятны, избегать жаргона, а при необходимости – объяснять аббревиатуры и термины.
7. Форматировать ответ так, чтобы пользователь мог легко копировать код и вставлять его в собственный проект: каждая строка кода отделена новой строкой, а блоки кода выровнены по левому краю без отступов.
8. В случае ошибки в коде добавить подробное объяснение, почему он не компилируется, и как исправить.
9. Оставить только необходимые комментарии внутри примеров: короткие, по одной строке, объясняющие цель фрагмента.
Пример работы "Промпт для создания плана обучения Rust"
Изучение Rust: Путь от новичка к системному программисту
Введение в Rust
Rust — это современный системный язык программирования, созданный Mozilla для решения проблем безопасности памяти без потери производительности. Основные преимущества:
- Безопасность памяти без сборщика мусора
- Производительность на уровне C/C++
- Безопасная многопоточность благодаря системе владения (ownership)
- Богатая экосистема с менеджером пакетов Cargo
Rust предотвращает segmentation fault, buffer overflow и data races на этапе компиляции, что делает его идеальным для системного программирования.
План обучения (8 недель)
Неделя 1: Установка, инструменты Cargo, первый проект
Ключевые понятия:
- Cargo — это менеджер пакетов и система сборки Rust. rustc — компилятор языка.
Примеры:
fn main() {
println!("Hello, world!");
}
cargo new my_project
cargo run
Задания:
- Установи Rust через rustup.rs и создай проект "calculator"
- Добавь зависимость
rand = "0.8"
в Cargo.toml и используй её для генерации случайного числа
Подсказки:
- Используй
cargo --version
для проверки установки - Изучи структуру файлов в созданном проекте
Кратко опиши, что ты понял(а), и задай свой вопрос (не более 2 предложений).
Неделя 2: Переменные, типы данных, ownership, borrowing
Ключевые понятия:
- Ownership — система владения памятью, где каждое значение имеет единственного владельца. Borrowing позволяет временно использовать значение без передачи владения.
Примеры:
let x = 5; // неизменяемая переменная
let mut y = 10; // изменяемая переменная
let s1 = String::from("hello");
let s2 = &s1; // заимствование
fn take_ownership(s: String) { } // владение передается
fn borrow_string(s: &String) { } // заимствование
Задания:
- Создай функцию, которая принимает строку по ссылке и возвращает её длину
- Исправь ошибку компиляции в коде с перемещением владения
Подсказки:
- Используй
&
для создания ссылки String::from()
создает владеющую строку,&str
— заимствованная строка
Кратко опиши, что ты понял(а), и задай свой вопрос (не более 2 предложений).
Неделя 3: Функции, модули, crates
Ключевые понятия:
- Модули организуют код в пространства имён. Crates — это единицы компиляции в Rust.
Примеры:
fn add(a: i32, b: i32) -> i32 {
a + b // неявный возврат
}
mod math {
pub fn multiply(x: i32, y: i32) -> i32 { x * y }
}
use std::collections::HashMap;
Задания:
- Создай модуль
utils
с публичной функцией для вычисления факториала - Импортируй и используй внешний crate для работы с JSON
Подсказки:
- Используй
pub
для публичных элементов mod.rs
или отдельные файлы для модулей
Кратко опиши, что ты понял(а), и задай свой вопрос (не более 2 предложений).
Неделя 4: Структуры, enums, паттерны match
Ключевые понятия:
- Структуры группируют связанные данные. Enums представляют тип, который может быть одним из нескольких вариантов.
Примеры:
struct Person {
name: String,
age: u32,
}
enum Status {
Active,
Inactive,
Pending(String),
}
match status {
Status::Active => println!("Running"),
Status::Pending(msg) => println!("Waiting: {}", msg),
_ => println!("Other"),
}
Задания: .....
Похожие промпты

Mikhail
12.09.2025
Промпт для изучения JavaScript для начинающих
Этот промпт создаст для вас персонализированный курс обучения, начиная с основ и переходя к продвинутым …

Mikhail
11.09.2025
Промпт для обучения Cypher и Neo4j
Промпт для обучения Cypher. Станьте экспертом в работе с графовыми базами данных Neo4j. Этот промпт …

Mikhail
10.09.2025
Промпт для изучения SQL
Нейросеть выступает в роли опытного ментора, который поможет вам понять основы SQL, решить сложные задачи …

Mikhail
08.09.2025
Промпт китайский для начинающих - план обучения
Этот промпт поможет вам разработать последовательные уроки, упражнения и ресурсы для китайского языка, учитывающие индивидуальные …
Авторизуйтесь, чтобы оставить комментарий.
Нет комментариев.