December 19, 2020

The Little Elixir & OTP Guidebook

Последнюю пару месяцев много ковыряю Elixir. Мысли про язык и окружение напишу чуть позже. А пока обзор книжки с которой решил начать.

The Little Elixir & OTP Guidebook книга маленькая и в основном по делу. Объём позволяет прочитать за месяц выделяя по часу в день и повторяя все примеры с многочисленными отвлечениями на "что будет если...".

Подробно рассматриваются основы BEAM runtime: что такое процесс, линк между процессами, отправка и получение сообщений и основные паттерны работы со всем этим добром. Показываются как их можно собрать в библиотеку и как это уже сделано в OTP. Собственно знакомство с супервизорами, серверами, ets. Что то говорится про распределённый режим. Везде выделяется время и место на показать инструменты мониторинга и трассировки.

При этом про эликсир говорится довольно мало, собственно от языка более менее освещается самый минимум чтобы сделать примеры из книги. Его не хватит даже на Hello, world на Phoenix (местный web framework). Получается не "всё в одном" книга для новичка а скорее введение в платформу для программиста с опытом. Ну или по крайне мере с готовностью разобраться с языком самостоятельно.

Но для меня это как раз то что надо. Длинные тексты про то как объявляются модули, функции, делаются матчи и обходятся коллекции выедают кучу времени и слабо оседают в голове пока не повторишь их пару десятков раз. А тут самое интересное, "как тут вообще дела делаются".

Слабые места книги - не освещено взаимодействие с внешним миром. Существование портов только вскользь упоминается. Никакой сервер не то что не создаётся с 0, но даже не показывается пример работы с каким-то готовым сервером вроде cowboy.

В общем рекомендую всем кому интересен подход OTP к дизайну приложений но не хочется выкручивать мозги Erlangом или есть уверенность в том что язык это всё второстепенное а главное понять как платформа предлагает дизайнить приложения и библиотеки.

Tags: books erlang otp elixir programming