Программирование

Rust

Что такое Rust?

Rust началась вокруг Mozilla, теперь это отдельный проект. Сборщика мусора нет. Вместо него правило ownership: у каждого значения один владелец. Если правило нарушено, программа не собирается. Так много ошибок останавливается до запуска.

Для чего нужен Rust?

Rust встречается в утилите командной строки, сетевой службе, части браузера и модуле Wasm.

  • Более безопасная системная утилита
  • Быстрый API
  • Вызов готовой библиотеки C
  • Работа в браузере через Wasm

Что можно делать с Rust?

На Rust пишут утилиту и сервис с меньшим риском выхода за память. cargo собирает пакет и запускает тесты. Кривая обучения крутая, поэтому для маленького скрипта Python короче.

Сложно ли освоить Rust?

Первая неделя трудная. Когда borrow checker отвергает код, причина в правиле памяти, не в синтаксисе. После обучения рефакторинг спокойнее, потому что многие ошибки не собираются.

Плюсы и ограничения

Плюс: скорость и безопасность памяти вместе. Ограничение: компилятор строгий, сборка может длиться, GUI и простой сайт всё ещё не первый выбор.

Основные понятия

Ownership — кто владеет значением. borrow — временный взгляд. String — растущий текст. &str — взгляд на текст, который живёт в другом месте.

  • cargo new открывает проект
  • crate — пакет
  • Result возвращает ошибку значением
  • блок unsafe специально ослабляет правило

Короткий пример

Эта программа пишет одну строку в терминал. Команда: cargo run.

fn main() {
    println!("Hello");
}

Частые вопросы

  • Rust заменила C++? Не везде. Её часто выбирают для новой системной утилиты. Старый код остаётся.
  • Есть сборщик мусора? Нет. Память следит по правилу владения.
  • Учится так же быстро, как Python? Нет. Первая неделя круче.