Rust - это современный язык программирования, созданный и разработанный в Mozilla Research в 2010 году его одноименным автором Бренданом Эйхом. Как и большинство языков, Rust имеет множество встроенных примитивов, которые позволяют сделать ваши программы более эффективными: циклы, условные операторы, работа со строками и т.д.
Однако Rust также улучшает эти примитивы с помощью современной системы типов, которая гарантирует безопасность памяти, и инновационного дизайна, вдохновленного подходом Haskell к параллелизму без ущерба для производительности. В результате получился быстрый и безопасный язык, который можно использовать наряду с любым другим языком высокого уровня для создания высокопроизводительных приложений, работающих на любой платформе без ущерба для безопасности и масштабируемости.
Rust - язык с сильной типизацией, что означает, что весь ваш код должен быть объявлен до того, как его можно будет оценить. Это помогает гарантировать безопасность памяти и предотвращает случайные ошибки во время выполнения. Rust также использует сборщик мусора, что означает, что вам не нужно вручную освобождать (или удалять) память. Вместо этого сборщик мусора автоматически позаботится об этом за вас. Кроме того, Rust имеет современную систему типов, которая гарантирует безопасность памяти и предоставляет набор встроенных типов, позволяющих создавать безопасные, защищенные от ошибок типов программы всего в одной строке кода.
Было доказано, что Rust быстрее C++, но при этом использует меньше памяти благодаря своему функциональному стилю. Это происходит потому, что Rust не выделяет память в куче, а вместо этого использует указатели для хранения данных. Таким образом, сборщик мусора может автоматически освободить всю выделенную память, когда она больше не нужна. Система типов Rust была разработана таким образом, чтобы работать с любым другим языком программирования и использоваться в качестве безопасной альтернативы C++.
Обновление системы
Первым шагом является обновление системы. Настоятельно рекомендуется всегда поддерживать систему в актуальном состоянии. Таким образом, у вас всегда будут установлены последние обновления безопасности, и ваша система будет более стабильной. Для этого откройте терминал (Ctrl+Alt+T) и введите команду ниже, это обновит список доступных пакетов, а затем установит все обновленные пакеты.
1 | sudo apt update && sudo apt upgrade -y |
После обновления системы нам нужно установить некоторые важные пакеты, необходимые для работы Rust. Выполните следующие команды для установки пакетов curl, build-essential, gcc и make.
1 | sudo apt install curl build-essential gcc make -y |
- curl - это простой способ загрузки и выгрузки файлов и веб-страниц.
- build-essential - это мета-пакет, включающий множество инструментов разработки, необходимых для компиляции программ.
- gcc - это GNU Compiler Collection, который используется для компиляции кода Rust.
- make - это утилита, которую можно использовать для создания, компиляции и компоновки программ.
- Опция -y заставляет curl загружать и устанавливать файл автоматически. Если вы не используете опцию -y, вам будет предложено ответить "да" или "нет" каждый раз, когда curl будет спрашивать, хотите ли вы загрузить и установить новый пакет.
Установка Rust
Теперь, когда наша система обновлена и в ней установлены все необходимые пакеты, пришло время установить Rust.
Существует несколько способов установки Rust. Вы можете использовать двоичный файл, один из готовых пакетов Debian или скомпилировать его из исходного кода. Мы будем устанавливать Rust с помощью готового сценария установки от разработчика.
Используя сценарий установки, мы получим уже настроенную систему, готовую к работе прямо из коробки. Это сэкономит нам много времени и проблем.
Выполните следующую команду, чтобы загрузить сценарий установки Rust.
1 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
Используя curl, мы можем загрузить и установить установочный скрипт Rust. Опция -proto позволяет указать протокол, который должен поддерживать curl. https - это протокол, который используется для загрузки установочного скрипта Rust. Параметр -tlsv1_2 указывает шифры, которые должны использоваться при создании соединения. Это необходимо для того, чтобы curl мог взаимодействовать с HTTPS-серверами, такими как rustup.rs.
С помощью флага --tlsv1.2 мы гарантируем, что сервер, к которому мы подключаемся, использует новейший протокол TLSv1.2. Опция -sS указывает curl, что это тихая загрузка и что она не должна выдавать индикатор выполнения или какой-либо другой вывод. Последний флаг -f заставляет curl продолжить загрузку, даже если он обнаружит неизвестную ошибку.
Сценарий установки загружается с https://sh.rustup.rs и выполняется как сценарий оболочки. Аргумент sh указывает оболочке, что он должен быть выполнен как сценарий оболочки.
Вам будет предложено выбрать параметры установки. Рекомендуется выбрать параметры по умолчанию, если у вас нет веских причин не делать этого. Введите 1 и нажмите Enter.
Процесс установки может занять некоторое время (около 10-15 минут) в зависимости от скорости вашего интернет-соединения и загрузки сервера. По окончании установки вам будет представлен краткий обзор процесса установки.
Наконец, выполните команду rustc -V, чтобы убедиться, что Rust был успешно установлен. Если вы увидите результат, подобный приведенному ниже, значит, все работает правильно.
Rustc - это компилятор Rust, который используется для компиляции кода, написанного на языке программирования Rust. Флаг -V указывает rustc вывести некоторую базовую информацию о себе.
Номер версии, отображаемый в выводе, - это текущий стабильный выпуск Rust. Нестабильный выпуск Rust также имеет номер версии. Однако он имеет префикс в виде заглавной буквы U.
Однако мы еще не закончили. Вам нужно выполнить еще две команды, прежде чем вы сможете начать использовать Rust.
Выполните команду source ~/.profile, чтобы обновить переменные системного окружения. С помощью команды source мы выполняем сценарий оболочки, который изменяет переменные системного окружения. Мы делаем это, чтобы обновить системную переменную PATH, которая необходима для правильной работы компилятора Rust.
1 | source ~/.profile |
Системные переменные окружения используются для хранения значений, которые используются системой. Некоторые общие переменные окружения:
- HOME : Эта переменная содержит ваш домашний каталог.
- PATH : Эта переменная содержит список каталогов, которые просматриваются при попытке запустить программу.
- TERM : Эта переменная содержит информацию о типе терминала.
Далее выполните команду source ~/.cargo/env, чтобы обновить переменные окружения cargo. Rust использует Cargo для управления пакетами. Переменные cargo используются компилятором Rust для определения местоположения двоичных файлов пакета.
1 | source ~/.cargo/env |
Наконец, выполните команду rustc -V, чтобы убедиться, что Rust был успешно установлен. Если вы увидите результат, подобный приведенному ниже, значит, все работает правильно.
Rustc - это компилятор Rust, который используется для компиляции кода, написанного на языке программирования Rust. Флаг -V указывает rustc распечатать некоторую базовую информацию о себе.
1 | rustc -V |
Номер версии, отображаемый в выводе, - это текущий стабильный выпуск Rust. Нестабильный выпуск Rust также имеет номер версии. Однако он имеет префикс в виде заглавной буквы U.
Проверка установки Rust
Теперь, когда вы установили Rust, пришло время протестировать вашу установку. Мы собираемся проверить вашу установку, запустив простую программу под названием "hello world". Эта программа выведет на экран сообщение "hello world".
Программа hello world - это компьютерная программа, которая выводит или показывает пользователю фразу "hello world". Эта фраза используется в качестве вывода для тестирования нового компилятора, языка программирования, операционной системы или части программного обеспечения. Это простая программа, используемая для того, чтобы убедиться, что все работает правильно в новой системе.
Цель этой демонстрации - сначала познакомить вас с простыми понятиями, а затем вы сможете постепенно перейти к более сложным темам.
Сначала нам нужно будет создать новый каталог для хранения исходного кода программы hello world. Выполните команду mkdir hello, чтобы создать новый каталог под названием hello.
1 | mkdir hello |
Затем используйте команду cd, чтобы войти во вновь созданный каталог.
1 | cd hello |
Далее выполните команду sudo nano hello-rust.rs, чтобы открыть текстовый редактор nano и создать новый файл hello-rust.rs.
1 | sudo nano hello-rust.rs |
Файл hello-rust.rs - это исходный код программы "hello world". Скопируйте и вставьте в этот файл следующий код.
1 2 3 | fn main() { println!("hello world"); } |
fn main - это главная функция программы "hello world". fn main эквивалентна функции main в C и других языках программирования. Однако, в отличие от других языков, имя функции всегда пишется в нижнем регистре.
Макрос println! печатает текст на экран. На экран будет выведена строка между двумя знаками процента (Hello, This is a text provided by Vitux).
После того как вы вставили код, нажмите CTRL+X, чтобы выйти из редактора nano. Нажмите Y для "да", а затем нажмите ENTER, чтобы сохранить файл.
Теперь, когда у нас есть программа "hello world" в нашем файле hello-rust.rs, пришло время скомпилировать эту программу в двоичный файл. Выполните команду rustc hello-rust.rs для компиляции исходного кода в двоичный файл.
1 | rustc hello-rust.rs |
Двоичный файл - это программа, которую компьютер понимает и может выполнить. Он содержит весь код, необходимый для выполнения программы. Ваш исходный код должен быть преобразован в более примитивный язык, прежде чем его сможет прочитать компьютер. Это преобразование называется компиляцией.
После успешной компиляции rustc hello-rust.rs выполните команду ls, чтобы отобразить все файлы в каталоге. Теперь вы должны увидеть новый файл с именем hello-rust в каталоге hello.
1 | ls |
Наконец, выполните команду ./hello-rust, чтобы выполнить программу.
1 | ./hello-rust |
Эта команда запустит программу "hello world", и она должна вывести на экран строку "hello world".
Заключение
Мы надеемся, что это руководство поможет вам установить Rust на вашу машину Ubuntu, а также поможет вам получить хорошее понимание того, как работает компилятор Rust. Для получения дополнительной информации о Rust мы рекомендуем вам посетить сайт http://www.rust-lang.org/.