Знакомлюсь с Rust. Мысли
На выходных решил засесть за The Rust Programming Language
Почему?
Есть у меня одна мулька - хочу заняться мультиплатформенный геймдевом in hard way. Преимущественно под веб. Что-нибудь минималистичное и компилируемое. Думал в пользу Go + Ebiten. Начал nature of code, выполняя упражнения на tinygo. Но в итоге отказался по-причине жирного рантайма под веб.
Думал и о чистом Си + raylib какой… Но все-таки, чистый Си это тумач для меня. Хотя есть книжка Modern С, есть новый стандарт Си… Но энивей, Си у меня оставил послевкусие старого джаваскрипта, как бы смешно это не звучало.
- Нет чего-то похожего на менеджер пакетов. Все изголяются по-своему.
- Сборка проектов - отдельный прикол.
После мира победившего коммунизма (всяких там Го, Руби) понимаешь, что инфраструктура языка важна.
И таким образом (минималистичные бинари, современная инфраструктура около) я решил ознакомиться с Раст.
Не хочу графоманить, скрупулёзно собирая примеры в коде что мне понравилось. Но списочком поделиться хочу.
match выражение
Выглядит красиво обработка ответов через него. Как и if let - который можно использовать для работы с только ожидаемым результатом. Вообще, мне нравится что в дизайне языка заложено обрабатывать все кейсы. Отсутствие null. Это, конечно, требует от разработчика продумывать все варианты при написании кода, нежели продумывать желаемую цепочку, но код в результате будет вести себя корректнее, чем спагеттина в си/джаваскрипт - стиле.
Возврат значения последнего выражения
Когда последняя выражении в блоке, не оканчивающееся на ; возвращается из тела. Без всяких return.