Мое введение в Rust 🦀
Прежде чем продолжать писать о Солане очень хочется рассказать о языке, на котором она написанна. Да и вместе с ней многие современные блокчейны.
Rust выбирают за счет отсуствия сборщика мусора (вместо него тут borrow чекер и подход RAII), возможности писать высокоуровневые абстракции и выразительный код (хоть и синтаксис местами токсичен).
За моими плечами года 4 Раста, но низкоуровневых штук я на нем не писал, да и в целом долгое время просто изучал из праздного интереса. К текущему моменту получилось написать на нем парочку сервисов (даже не в стол), несколько cli утилит, потрогал плагины для SWC, немного L2 блокчейнов и смарт контрактов. Опенсорснул утилиту для aws, переписанную с Ruby на Rust, и парсер для TMA переписал с Golang'а🦀.
В целом, как мне кажется, так довольно мало, чтобы считать, что я знаю Rust отлично, но достаточно, чтобы на нем очень даже сносно писать.
Начал я его изучение, как и вам советую с Книги📓. Попутно подкрепляя упражнениями и плейлистом от CSC Программирование на Rust (он все еще не устарел). Сейчас бы я вам еще порекомендовал прочесть и прорешать книгу Rust в действии - там много полезных и наглядных примеров + опускаются достаточно низко, что в дальнейшем вам поможет.
Вот этого материала, в целом, достаточно, чтобы вы уже чувствовали себя достаточно уверенно для написания прикладных программ. В языке много разных концепций, которые, возможно, покажутся вам новыми, особенно если вы переходите с языков вроде JS/TS. Из-за чего кривая обучения перед стартом получается довольно высокой.
Ставьте лайки, если ждете обзоры на другие полезные материалы по Rust'у, пишите про какую сферу применения Rust'а вам интересно было бы узнать!
ЗЫ. Ну и напоследок, главным бичом Rust я считаю паттерн билдер. Сделать современный язык, в котором нет опциональных аргументов - ало, парни в чулочках💅, у вас там все хорошо? Ладно хоть за макросом все это безобразие скрыть можно... благодаря им я и написал этот пост... и вот, все собралось! я пошел!😳 Удачи вам!
Post #100
1.93K
- ❤🔥 11
- 👍 10
- 🔥 3
- 🦄 2