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? Нет. Первая неделя круче.