Gleam, Elixir의 대안? 개발자들의 솔직한 사용 후기

by DD
4개월 전
조회수 20

Elixir 사용자들은 Gleam의 기능 부재(Lack of Features), 특히 JSON 직렬화(Serialization) 부재를 단점으로 지적함

불변성(Immutability), 패턴 매칭(Pattern Matching), ADT(Algebraic Data Types) 등 Go 개발자들은 Gleam의 단순성(Simplicity)을 장점으로 평가함

Gleam은 Erlang/Elixir 생태계(Ecosystem)에 대한 접근성이 낮아, Elixir의 강점인 분산 컴퓨팅(Distributed Computing) 활용에 제약이 있음

LLM(Large Language Model) 기반 코드 생성에 적합하다는 긍정적 평가와 함께, 생태계 성숙도(Ecosystem Maturity)에 대한 우려도 제기됨

Gleam의 기능적 한계와 Elixir 생태계 비교

한 사용자는 Gleam의 Ad-hoc 다형성(Ad-hoc Polymorphism) 부재로 인해 JSON 직렬화와 같은 기본적인 기능 구현이 어렵다고 지적했다. 특히, Elixir와 달리 Gleam은 Erlang/Elixir 생태계에 대한 접근성이 낮아, 기존 Erlang/Elixir 라이브러리(Libraries)를 활용하기 어렵다는 점을 단점으로 꼽았다. 이는 Elixir의 강점인 분산 시스템(Distributed System) 구축에 Gleam이 불리하다는 것을 의미한다.

Gleam의 장점: 단순성, 불변성, 그리고 LLM

Go 개발 경험이 있는 사용자는 Gleam의 단순성(Simplicity), 불변성(Immutability), ADT(Algebraic Data Types), 패턴 매칭(Pattern Matching)을 높이 평가했다. 특히, Gleam의 단순한 구조는 LLM(Large Language Model) 기반 코드 생성에 적합하며, 코드의 가독성(Readability)유지보수성(Maintainability)을 향상시킬 수 있다고 언급했다. 이는 LLM이 생성한 코드의 안정성(Stability)을 확보하는 데 기여할 수 있다.

Gleam의 JS 및 BEAM 타겟, 그리고 분산 컴퓨팅

한 사용자는 Gleam이 JS와 BEAM을 모두 지원하는 것에 대해, 분산 컴퓨팅(Distributed Computing)과 같은 특정 분야에서 성능 저하를 우려했다. Gleam이 BEAM에서 Elixir/Erlang만큼의 성능을 낼 수 있는지, JS로 컴파일했을 때 분산 시스템의 이점을 활용할 수 있는지에 대한 의문을 제기했다. 이는 Gleam의 멀티 타겟(Multi-Target) 지원이 성능(Performance)유연성(Flexibility) 사이의 트레이드오프를 야기할 수 있음을 시사한다.

Gleam의 미래: 생태계 성숙도와 Rust와의 경쟁

일부 사용자는 Gleam의 생태계 성숙도(Ecosystem Maturity) 부족을 지적하며, 특히 JSON 직렬화와 같은 기본적인 기능 구현의 어려움을 언급했다. 또한, Rust의 강력한 기능과 비교하며 Gleam의 경쟁력을 우려했다. 이는 Gleam이 개발자 생산성(Developer Productivity)을 높이기 위해 표준 라이브러리(Standard Library)생태계 지원(Ecosystem Support)을 강화해야 함을 시사한다.

The Gleam Programming Language