19 найкращих ресурсів для вивчення Rust

Rust – це сучасна мова програмування, яка здобула значну популярність у світі розробників. Вона виправляє недоліки, властиві C/C++, забезпечуючи при цьому таку ж або навіть вищу швидкість виконання. Не дивно, що вона вже сім років поспіль очолює рейтинги опитувань розробників на StackOverflow!

Усе це, безсумнівно, привернуло вашу увагу. І тепер ви прагнете опанувати Rust. Це відмінне рішення, адже перспективи на ринку праці для розробників Rust виглядають дуже багатообіцяючими. Щоб допомогти вам у вашому навчанні, я зібрав перелік найкращих ресурсів для вивчення Rust, включаючи онлайн-курси, книжки та блоги.

Отже, розпочнемо.

Чим особливий Rust і чому варто його вивчати?

Rust з’явився у 2015 році і поступово почав завойовувати прихильність компаній та розробників. Основні причини його популярності включають:

  • високу швидкість роботи,
  • строгий, безпечний для пам’яті дизайн,
  • і потужну підтримку паралелізму.

Якщо порівнювати, то Rust – це мова програмування високого рівня, подібна до Python, але з продуктивністю, порівнянною з C/C++. Це дозволяє розробникам створювати швидкі та захищені додатки. Іншими словами, його “нульова абстракція” дає можливість розробникам звертатися до пам’яті на низькому рівні, використовуючи при цьому концепції програмування високого рівня.

Однак, найвизначнішою особливістю Rust є його модель власності та позичання. Вона примушує розробників дотримуватися дисципліни при написанні коду, що призводить до мінімізації помилок. Простіше кажучи, компілятор гарантує, що всі помилки виявлені ще до запуску програми, забезпечуючи тим самим безпеку пам’яті та потоків.

Ринок праці для Rust-розробників також виглядає дуже привабливо. Розглянемо деякі цікаві факти:

  • Зарплати початківців Rust-розробників стартують від 60 тисяч доларів на рік.
  • В середньому, Rust-розробники заробляють близько 120 тисяч доларів на рік.
  • Для досвідчених спеціалістів ця цифра може досягати 140 тисяч доларів на рік.
  • Останнім часом ринок праці для Rust-розробників стрімко зростає, і попит на них постійно збільшується.

Отже, якщо ви обрали Rust як основну мову програмування, ви зробили правильний вибір.

Вагаєтеся щодо важливості Rust? Перегляньте статтю про причини використовувати Rust для вашого наступного проекту розробки.

Найкраще місце для початку: офіційна документація Rust, “Книга” та курс Rustlings

Офіційна документація Rust

Якщо ви тільки починаєте свій шлях з Rust, офіційна документація – це найкраще місце для початку. Вона доступна на офіційному сайті Rust і містить вичерпну інформацію майже про все, з чим ви можете зіткнутися під час роботи з мовою. Проте, вона не пропонує структурованого шляху навчання. Для цього вам знадобиться “Книга” та курс Rustlings.

“Книга” про мову програмування Rust

Чудова книга про Rust, відома як “Книга”, є найкращим ресурсом для вивчення мови. Вона детально розглядає всі технічні аспекти Rust, включаючи основи мови, модель власності та позичання, повний посібник з управління проєктами та пакетами, а також інші розширені теми, такі як обробка помилок, автоматизоване тестування, небезпечний Rust, макроси та функціональне програмування. Книга також пропонує кілька практичних проєктів, включаючи відомий “Hello, World!”, цікавий проєкт вводу-виводу та проєкт з розробки багатопоточного веб-сервера.

Рекомендуємо також ознайомитися з Rust by Example, де представлені приклади різних концепцій Rust. Це робить його чудовим ресурсом для початківців.

Курс Rustlings від GitHub

І, нарешті, є курс Rustlings. Він добре розроблений і орієнтований насамперед на новачків. Тут ви вивчите основи синтаксису Rust, навчитеся налаштовувати інструменти розробки та багато іншого.

Всі ці ресурси створять міцну основу для того, щоб стати справжнім Rustaceans (так називають людей, що використовують Rust).

Програмування Rust для початківців

“Програмування Rust для початківців” – це книга, розроблена спеціально для новачків. Рік Мессьє у цій книзі описує ключові концепції Rust та наводить практичні приклади. Він розглядає всі тонкощі мови програмування Rust, включаючи її модель власності та багату систему типів. Таким чином, ви навчитеся створювати програми, захищені від помилок пам’яті та потоків. Книга також навчає працювати з вбудованими системами.

Все це робить “Програмування Rust для початківців” ідеальним вибором, якщо ви маєте базові знання C/C++, або навіть якщо ви новачок у програмуванні.

Програмування WebAssembly за допомогою Rust

“Програмування WebAssembly за допомогою Rust” – це чудовий посібник, що розповідає про застосування Rust для створення веб-додатків.

WebAssembly – це низькорівнева мова, яка працює у сучасних браузерах. Вивчаючи використання Rust з WebAssembly, ви зможете створювати швидкі веб-додатки з продуктивністю, порівнянною з нативною.

У книзі ви дізнаєтеся про необхідні інструменти та їх застосування. Також ви навчитеся інтегрувати ваш код Rust з JavaScript. Крім того, ви освоїте основи WebAssembly, принципи її роботи, інтеграцію та використання для створення швидких веб-програм.

Проте, вибирайте цю книгу, лише якщо ви вже знайомі з Rust та хочете використовувати її для WebAssembly. Якщо ви повний новачок, ця книга не для вас.

Rust в дії

Як випливає з назви, “Rust in Action” – це практичний погляд на мову програмування Rust. Вона написана чітко та підходить як для початківців, так і для досвідчених програмістів Rust.

Книга досліджує мову Rust на прикладах і навчає вас про основи комп’ютерної техніки. Наприклад, тут ви навчитеся працювати з пам’яттю, мережами, постійним сховищем та центральним процесором.

Крім цього, книга охоплює такі теми, як паралельне та конкурентне програмування, надаючи вам інструменти для написання швидкого багатопотокового коду. “Rust in Action” – чудовий вибір, якщо ви шукаєте практичні знання з системного програмування та програмування на Rust, від початкового до просунутого рівня.

Ця книга ідеально підходить для тих, хто має середній рівень знань.

Програмування Rust

Rust відомий своїми можливостями у системному програмуванні. Книга “Програмування Rust” від Джима та Джейсона навчить вас всього про системне програмування за допомогою Rust. Прочитавши її, ви зможете писати надійні та швидкі рішення.

Джим і Джейсон підкреслюють, що Rust дозволяє програмістам писати код без помилок, і вони демонструють це на прикладах у книзі, чітко показуючи зв’язок між безпекою та продуктивністю.

Книга починається з основ Rust, а потім переходить до написання ефективного, гнучкого коду. Далі вона охоплює багатопотоковий код і навчає вас, як використовувати основні інструменти Rust, такі як ітератори, замикання та асинхронне програмування.

Практичний Rust

“Hands-on Rust” – моя улюблена книга про Rust. Вона пропонує читачам вивчити основи Rust, особливо тим, хто вже знайомий з мовами програмування C та C++. Книга пояснює теми за допомогою практичних проєктів, починаючи від простої програми “Hello, World!” і закінчуючи повноцінною грою в підземелля.

Найбільшою перевагою цієї книги є те, що вона навчає вас базовим навичкам розробки ігор, які можна використовувати з популярними ігровими двигунами, такими як Unity та Unreal. Вона також охоплює теми Rust, зокрема паралелізм, безпеку пам’яті тощо.

Отже, вибирайте “Hands-on Rust”, якщо ви хочете використовувати Rust у розробці ігор. Вона пропонує практичні приклади, що допоможуть вам підготуватися до створення власної гри!

Веб-програмування Rust

“Веб-програмування Rust” Максвелла Фліттона навчить вас створювати веб-додатки за допомогою Rust. Він використовує мову програмування Rust для створення високопродуктивних і безпечних веб-застосунків, використовуючи інші веб-технології, такі як Terraform, розгортання AWS та бездистрибутивні сервери Rust.

Книга також містить практичні приклади використання веб-фреймворків Rust, таких як Hyper, Rocket та Actrix. Практичні приклади включають створення основного веб-додатку зі списком справ з використанням масштабованого Rust, управління автентифікацією, роботу з бездистрибутивними серверами Rust, створення на базі AWS та багато іншого.

Ця книга, в першу чергу, призначена для веб-розробників, які бажають глибше зануритися у програмування Rust для інтернету.

Rust для Rustaceans

“Rust for Rustaceans” – одна з найкращих книг для вдосконалення ваших навичок Rust. Книга орієнтована на програмістів, які вже знають Rust, але хочуть навчитися створювати та підтримувати великі кодові бази, успішно керувати складними проектами та писати потужні програми та бібліотеки.

Щоб навчити вас цього, книга детально розглядає особливості мови, моделі власності, небезпечний код та паралелізм. Ви також навчитеся створювати надійні, ергономічні та ідіоматичні програми Rust. Книга також охоплює асинхронне програмування в Rust, декларативні та процедурні макроси.

Мова програмування Rust

“Мова програмування Rust”, написана членами команди Rust Core, Керол та Стівом, – одна з найпопулярніших книг про Rust. На момент написання цієї статті було продано понад 50 000 примірників. Основною причиною популярності книги є те, що вона дає практичні знання зі створення масштабованого та надійного програмного забезпечення.

Книга починається з основ, де ви навчитеся працювати з типами даних, функціями та змінними. Після ознайомлення з цими базовими поняттями, автори обговорюють розширені теми, такі як право власності, позичання, ознаки, генерики, розумні покажчики, багатопотоковість та багато іншого. Книга також охоплює Cargo і те, як його можна використовувати для створення та управління вашим проєктом.

Вивчайте Rust, створюючи реальні програми

Курс “Udemy Learn Rust by Building Real Applications” є одним із найкращих курсів по Rust. Він охоплює основи Rust, низькорівневе управління пам’яттю, методи усунення помилок компілятора та безпеку пам’яті.

Курс триває понад 6,5 годин і після завершення пропонує сертифікат.

Основи Rust

“Rust Fundamentals” – це курс Rust для початківців. Він охоплює синтаксис Rust та інші фундаментальні аспекти мови. Крім того, він також розглядає безпеку пам’яті, змінність, позичання та інші передові концепції Rust. Це короткий курс із 4,5 годинами контенту.

Курс “Мова програмування Rust”

Курс “Rust Programming Language” від Дмитра Нестерука – це високо оцінений курс на Udemy, який навчає вас використовувати Rust як мову системного програмування.

У цьому курсі Дмитро покаже вам, як вирішувати проблеми за допомогою Rust, розглядаючи її сильні та слабкі сторони. Крім того, ви дізнаєтеся, як ефективно використовувати механізми захисту пам’яті Rust, створюючи програми та бібліотеки. Нарешті, ви також навчитеся тестувати та документувати свій код.

Курс досить тривалий, він включає 8,5 годин відеоматеріалів на вимогу.

Вивчайте Rust з нуля (безкоштовний курс)

“Вивчайте Rust з нуля” – це безкоштовний курс від Educative. Це 9-годинний курс, в якому ви вивчите Rust. Він починається з основ, таких як змінні, типи даних, оператори, умовні вирази та цикли, а потім переходить до більш складних концепцій, таких як перерахування, модулі, управління пам’яттю та вектори.

Курс підходить навіть для початківців без досвіду програмування!

Програмування Rust: повний посібник розробника

Якщо ви новачок, але хочете отримати більш глибокі знання про програмування на Rust, тоді вам підійде “Rust Programming: The Complete Developer’s Guide” від ZTM.

Курс охоплює основи комп’ютерного програмування, а потім швидко переходить до концепцій мови програмування Rust, включаючи особливості, фрагменти, пам’ять, генерики та змінність. Ви також дізнаєтесь про екосистему Rust та отримаєте практичні проєкти, які можна додати до свого портфоліо.

Інтенсивний курс Ultimate Rust

“Ultimate Rust Crash Course” – це бестселер серед курсів з мови програмування Rust, який пройшли понад 30 тисяч студентів, і має рейтинг 4,6. Курс охоплює основні концепції Rust, а також інструменти та екосистему.

Окрім цього, Натан Стокс, викладач курсу, розглядає інші важливі поняття, пов’язані з Rust, зокрема посилання, позичання прав власності, модель пам’яті тощо.

Бонус: Exercism Rust Track дозволяє досліджувати Rust за допомогою 97 вправ. І найкраща частина треку полягає в тому, що він на 100% безкоштовний. Отже, якщо ви новачок і хочете почати з Rust, цей курс для вас! Вправи розділені на легкі, середні та складні, тому ви можете вибрати те, що вам підходить. Однак курс добре підходить для вивчення синтаксису та концепцій Rust.

Блоги про Rust

Блоги про Rust – це чудовий спосіб дізнатися про концепції, навчальні матеріали та приклади використання Rust. Ви можете почати зі офіційного блогу Rust. Він регулярно оновлюється контентом, який буде корисний для вас.

Далі перегляньте агрегатор ReadRust, який збирає цікаві дописи в блогах про Rust. Крім них, перегляньте такі блоги:

І, нарешті, додайте в закладки основний список антології Rust, який пропонує колекцію чудових дописів у блогах, пов’язаних із Rust.

Подкасти, розсилки, спільноти та форуми про Rust

Для отримання додаткової інформації про Rust, ви можете переглянути цікаві подкасти, розсилки, долучитися до спільнот та форумів:

Підсумки

Rust – чудовий вибір для будь-якого розробника. Він заповнює прогалину між мовами програмування низького рівня, такими як C/C++, і мовами програмування високого рівня, такими як Python. Зрештою, Rust – це захищена від помилок пам’яті, високоефективна мова програмування, що дає розробникам повний контроль над поведінкою та функціонуванням їхніх програм.

Крім того, дизайн Rust також ставив на перший план зручність для розробників, що робить її однією з найпопулярніших мов програмування.

Почавши використовувати Rust, ви швидко зрозумієте, наскільки Rust технічно перевершує інші мови програмування з мінімумом недоліків.

Проте, ви повинні знати, що Rust все ще є молодою мовою, і це означає, що вона постійно оновлюється новими функціями. Це також впливає на її відносно незрілу бібліотеку та документацію. Це може уповільнювати розробку, оскільки вам доведеться мати справу з детальними повідомленнями про помилки компілятора Rust та повільним часом компіляції (який, втім, можна покращити за допомогою відповідних інструментів).

Загалом, Rust – це відмінний вибір! Він підтримує WebAssembly та стає все більш популярним через зростаючий попит на ринку. Отже, вітаємо вас з вибором Rust та бажаємо успіхів у навчанні.

Також ознайомтеся з найкращими хостинг-провайдерами серверів Rust, щоб знати, де розмістити свою програму на Rust.