Введение в Rust: почему стоит начать прямо сейчас
Язык программирования Rust уже несколько лет подряд признаётся одним из самых любимых среди разработчиков. В 2025 году он окончательно закрепился в топе языков для системного программирования, веб-разработки и даже создания игр. Его главные преимущества — невероятная производительность на уровне C/C++ и абсолютная безопасность памяти без сборщика мусора. Компании вроде Microsoft, Google, Amazon и Mozilla активно внедряют Rust в свои проекты.
Если вы новичок и хотите войти в мир современного программирования, Rust — отличный выбор. В этой статье мы разберём, с чего начать изучение Rust в 2025 году: от установки до первого осмысленного проекта.
Установка и настройка окружения Rust
Установка через rustup
Самый простой и рекомендуемый способ установить Rust — использовать официальный инструмент rustup. Он позволяет управлять версиями компилятора и устанавливать необходимые компоненты.
Для установки на Linux и macOS откройте терминал и выполните:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Для Windows скачайте установщик с официального сайта и запустите его.
После завершения установки проверьте версию компилятора:
rustc --version
Вы должны увидеть что-то вроде:
rustc 1.79.0 (2025-02-15)
Что входит в стандартную установку
- rustc — компилятор Rust.
- Cargo — система сборки и менеджер пакетов (аналог pip для Python).
- rustup — утилита для обновления и управления инструментами.
- rust-docs — локальная документация.
Обновить установку до последней версии можно командой:
rustup update
Создание первого проекта на Rust
В Rust не принято писать код в одном файле (хотя это возможно). Вместо этого вы создаёте проект с помощью Cargo. Это даёт готовую структуру папок и файлов.
Команда для нового проекта
cargo new hello_rust
Эта команда создаст папку hello_rust со следующей структурой:
hello_rust/
├── Cargo.toml
└── src/
└── main.rs
Файл Cargo.toml — это манифест проекта (аналог package.json или requirements.txt). Файл src/main.rs — точка входа в программу.
Пишем "Hello, World!"
Откройте файл src/main.rs и замените его содержимое на:
fn main() {
println!("Привет, мир! Учим Rust в 2025 году!");
}
Теперь соберите и запустите проект одной командой:
cargo run
Вы должны увидеть в терминале:
Compiling hello_rust v0.1.0 (путь/к/проекту)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.23s
Running `target/debug/hello_rust`
Привет, мир! Учим Rust в 2025 году!
Поздравляю! Вы только что написали и запустили свою первую программу на Rust.
Основы синтаксиса Rust для новичков
Давайте разберём ключевые концепции, которые нужно знать в самом начале.
Переменные и неизменяемость
По умолчанию все переменные в Rust неизменяемы. Это одна из главных фишек языка, обеспечивающая безопасность.
fn main() {
let x = 5; // неизменяемая переменная
// x = 6; // ОШИБКА: нельзя изменить неизменяемую переменную
println!("x = {}", x);
let mut y = 10; // изменяемая переменная (ключевое слово mut)
y = 20;
println!("y = {}", y);
}
Типы данных
Rust — строго типизированный язык, но компилятор часто может вывести тип автоматически.
fn main() {
let a: i32 = -100; // 32-битное целое со знаком
let b: u64 = 100; // 64-битное целое без знака
let c: f64 = 3.14159; // 64-битное число с плавающей точкой
let d: bool = true; // логический тип
let e: char = 'R'; // символ Unicode
println!("{} {} {} {} {}", a, b, c, d, e);
}
Функции
Функции объявляются с помощью ключевого слова fn. Обратите внимание на стрелку -> для указания возвращаемого типа.
fn add(x: i32, y: i32) -> i32 {
x + y // последнее выражение — это возвращаемое значение (без точки с запятой)
}
fn main() {
let result = add(5, 7);
println!("5 + 7 = {}", result);
}
Управляющие конструкции
Условные операторы и циклы выглядят привычно:
fn main() {
let number = 7;
// if-else
if number > 5 {
println!("Число больше 5");
} else {
println!("Число меньше или равно 5");
}
// цикл loop (бесконечный, выход по break)
let mut counter = 0;
loop {
counter += 1;
if counter == 3 {
break;
}
}
println!("counter = {}", counter);
// цикл for по диапазону
for i in 0..5 {
println!("i = {}", i);
}
}
Практический пример: программа угадай число
Лучший способ закрепить знания — написать небольшую игру. Вот пример простой программы "Угадай число" на Rust.
use std::io;
use rand::Rng;
use std::cmp::Ordering;
fn main() {
println