Как амазонка, я пишу 6 пейджеров почти каждый день. Прелесть 6 пейджеров в том, что они позволяют сосредоточиться на задачах, которые вы собираетесь решать, с помощью четкой структуры. Итак, в рамках этого блога я собираюсь использовать типичный шаблон на 6 страниц, чтобы объяснить, как стать программистом среднего уровня на Rust за один день. Прочтите этот блог, чтобы узнать больше о 6 пейджерах.
Постановка задачи
# 1 Мне сказали, что у Rust крутая кривая обучения даже для людей, имеющих опыт программирования на C / C ++, как у меня. Это правда?
# 2 Если это неправда, как за короткое время стать программистом на Rust?
Техническое предложение
Шаг №1 Смотрите видеоролики о intro_rust () и выполняйте упражнения (~ 1 час)
Intro_rust () - фантастический веб-сайт для начинающих Rust, чтобы понять, что отличает Rust от других языков программирования, например. C ++, Java и Python.
Выводы:
- Rust - это язык системного программирования, в котором особое внимание уделяется безопасности, особенно безопасному параллелизму.
- Понятие собственности, долевые займы и изменяемые займы
Шаг # 2 Погрузитесь в синтаксис Rust (~ 2 часа)
Посмотрев видео в Руководстве по программированию на Rust, представленное с помощью decode, вы сможете получить базовое представление о том, как выглядит код на Rust. Вы можете быстро сопоставить синтаксис Rust с языками программирования, с которыми вы знакомы. Не стесняйтесь ускоряться при просмотре видео.
Выводы:
- управление грузами и пакетами
- ООП с использованием структуры, имплементации и трейтов в Rust
- объемы и срок службы
- соответствие
- вариант
- Основы ввода / вывода
Шаг # 3 Rust Concurrences (~ 3 часа)
Посмотрите это видео (объяснение параллелизма в Rust), чтобы познакомиться с программированием параллелизма в Rust, которое является наиболее важной особенностью Rust. Rust предоставляет функции параллелизма на основе библиотек. Все, что предлагает язык, - это владение и заимствование.
Выводы:
- Std :: thread позволяет потоку порождать дочерние потоки. Прочтите руководство, чтобы понять закрытие хода.
- ARC (Atomically Reference Counted) позволяет программе разделять постоянную память между потоками.
- Std :: sync :: Mutex использует Mutex для явного получения блокировки перед изменением разделяемой памяти.
- Std :: sync :: automic предоставляет набор функций без блокировки, что намного легче, чем использование Mutex.
- Std :: thread :: mpsc - это очередь FIFO памяти, которая позволяет нескольким отправителям и одному получателю.
- Rayon Сторонняя библиотека параллелизма данных для Rust.
- Перекладина эпохальная сборка мусора
- Tokio - среда выполнения для написания надежных, асинхронных и тонких приложений с помощью языка программирования Rust.
ШАГ # 4 Наслаждайтесь программированием на Rust
Большой! Вы готовы к тренировкам! Найдите несколько проектов с открытым исходным кодом, чтобы читать и писать!
Я хочу выделить несколько:
Заключение
Исходя из моего опыта обучения, я не думаю, что у Rust очень крутая кривая обучения. Мне удалось разобраться в Rust и сделать несколько упражнений за один день. На мой взгляд, Rust гораздо более удобен для разработчиков, чем любой другой язык системного программирования. Он предлагает уверенное и продуктивное системное программирование.
Компромисс между эффективностью компиляции и безопасностью, сделанный в Rust, действительно умен. Благодаря предлагаемым функциям Rust компиляция занимает относительно много времени, чем C ++ и Java. Для меня это имеет смысл, все, что нужно сделать разработчикам, - это иметь мощный рабочий стол для разработчиков, чтобы работать более продуктивно.
На основе сторонних библиотек, разработанных в экосистеме, разработчики могут также использовать Rust для разработки прикладного программного обеспечения.
Приложение
Ссылка
- Документ API ржавчины
- Объяснение параллелизма в Rust
- Учебники по программированию на Rust
- Intro_rust ()
- Книга - язык программирования Rust
Управление версиями
- Воскресенье, 23 декабря. Первоначальная версия.