Почему стоит попробовать Gleam: функциональный язык с типами для BEAM и JavaScript
Try Gleam
Gleam — функциональный язык с простым синтаксисом и статической типизацией, который компилируется как в BEAM (Erlang VM), так и в JavaScript. Автор, обычно пишущий на Rust, отмечает, что Gleam вызывает похожее удовольствие от кодинга: около 80% кода можно перенести в Rust почти без изменений. В статье разбираются ключевые особенности: оператор конвейера |>, синтаксический сахар use для колбэков, оптимизация хвостовых вызовов, алгебраические типы данных и мощная модель конкурентности OTP с акторами и супервизорами.
На BEAM нет стека фиксированного размера, поэтому неконтролируемая рекурсия съедает память кучи, пока процесс не будет убит, но суть остаётся: глубокая рекурсия равна проблемам.
- subarctic
У меня есть веб-приложение, которое я регулярно использую и регулярно разрабатываю с Gleam на фронтенде и бэкенде. Я написал вручную очень мало кода и использую claude, чтобы реализовывать всё, открывать PR и всё такое, и это хорошо работает. Мне нравится, что он типобезопасен и можно так легко делиться кодом между фронтендом и бэкендом, и не нужно правильно настраивать кучу конфигов, как если бы вы хотели приложение целиком на TypeScript. Если бы я писал его вручную, я думаю, я бы обнаружил, что там раздражающе много шаблонного кода, но поскольку код за меня пишет ИИ, это не проблема.
В целом, я рекомендую.
- brightball
Несколько лет назад на Carolina Code Conference был отличный доклад о Gleam от Диллона Малроя, сейчас, кажется, в Cloudflare.
https://carolina.codes/speakers/2024/dillon-mulroy
Этот сайт тоже частично работает на Gleam на бэкенде.
- nchagnet
Я написал это, чтобы выразить свою признательность этому небольшому, но прекрасному языку.
- adamddev1
Gleam — действительно восхитительный язык с отличными идеями, но отсутствие каррирования — это трагедия.
Отсутствие каррирования ощущается для меня примерно как прогулка по миру FP с одной отрезанной ногой.
- stiiv
Помимо самого языка, как обстоят дела с опытом разработки, особенно при full-stack?
F# подавал большие надежды с Fable, но сообщество так и не смогло как следует наладить инструментарий, я думаю, из-за нехватки энергии/финансирования.
- hmokiguess
К вашему замечанию о «Gleam: плохое» и о том, что экосистема маленькая, я бы добавил, что у этого сообщества есть история активистского поведения. Некоторым это нравится, а я — пас.
- barddoo
Мне уже давно хочется его попробовать, возможно, в ближайшем будущем я что-нибудь с ним сделаю.
- listedb
Эй! Я это знаю!