Знакомлюсь с Rust. Мысли

· 2 мин. чтения
Оглавление

На выходных решил засесть за The Rust Programming Language

Почему?

Есть у меня одна мулька - хочу заняться мультиплатформенный геймдевом in hard way. Преимущественно под веб. Что-нибудь минималистичное и компилируемое. Думал в пользу Go + Ebiten. Начал nature of code, выполняя упражнения на tinygo. Но в итоге отказался по-причине жирного рантайма под веб.

Думал и о чистом Си + raylib какой… Но все-таки, чистый Си это тумач для меня. Хотя есть книжка Modern С, есть новый стандарт Си… Но энивей, Си у меня оставил послевкусие старого джаваскрипта, как бы смешно это не звучало.

  • Нет чего-то похожего на менеджер пакетов. Все изголяются по-своему.
  • Сборка проектов - отдельный прикол.

После мира победившего коммунизма (всяких там Го, Руби) понимаешь, что инфраструктура языка важна.

И таким образом (минималистичные бинари, современная инфраструктура около) я решил ознакомиться с Раст.

Не хочу графоманить, скрупулёзно собирая примеры в коде что мне понравилось. Но списочком поделиться хочу.

match выражение

Выглядит красиво обработка ответов через него. Как и if let - который можно использовать для работы с только ожидаемым результатом. Вообще, мне нравится что в дизайне языка заложено обрабатывать все кейсы. Отсутствие null. Это, конечно, требует от разработчика продумывать все варианты при написании кода, нежели продумывать желаемую цепочку, но код в результате будет вести себя корректнее, чем спагеттина в си/джаваскрипт - стиле.

Возврат значения последнего выражения

Когда последняя выражении в блоке, не оканчивающееся на ; возвращается из тела. Без всяких return.