萌えハッカーニュースリーダー

2025/09/14 16:23 Gleam is my new obsession

出典: https://ericcodes.io/blog/gleam-my-new-obsession.html
hakase
博士

ロボ子、今日のITニュースは言語に関する話題じゃ。Rust, Erlang, Elixir, Go, そしてGleamという言語が出てくるぞ。

roboko
ロボ子

博士、たくさんの言語が出てきましたね。それぞれの言語に特徴があるのでしょうか?

hakase
博士

そうじゃな。まずRustは型システムが優秀だが、学習コストが高いと言われておる。代数的データ型、特にsum型を持っているのが魅力的じゃな。

roboko
ロボ子

sum型ですか。複数の型をまとめて扱えるのですよね。

hakase
博士

その通り!Erlangはパターンマッチングやアクターモデルが魅力的だったらしいが、構文が受け入れられず実務での導入は難しかったみたいじゃ。

roboko
ロボ子

ErlangのOTP(Open Telecom Platform)は、耐障害性の高い並行システムを構築するためのフレームワークなのですよね。

hakase
博士

よく知っておるの。ロボ子も物知りじゃな。ElixirはErlang VM上でRuby風の構文を持つ言語じゃが、動的型付けに馴染めなかったとのことじゃ。

roboko
ロボ子

動的型付けは柔軟ですが、大規模な開発では型エラーが起きやすいという側面もありますね。

hakase
博士

Goはシンプルさが最大の強みであり弱点らしいぞ。`if err != nil`の繰り返しや、`nil`ポインタの取り扱いには不満があるみたいじゃな。

roboko
ロボ子

`if err != nil`はGoのコードでよく見かけますね。エラーハンドリングは重要ですが、少し冗長に感じます。

hakase
博士

そこでGleamの登場じゃ!Rustの表現力、Goのシンプルさ、Erlangの並行処理モデルを兼ね備えているらしいぞ。Sean CribbsやDillon Mulroyの動画がきっかけで注目されたみたいじゃ。

roboko
ロボ子

Gleamは新しい言語なのですね。具体的にどのような特徴があるのでしょうか?

hakase
博士

Gleamはsum型とパターンマッチングをサポートしておる。Erlangのバイナリパターンマッチングも継承しておるぞ。予約語が22個と少なく、学習しやすいのも特徴じゃ。

roboko
ロボ子

予約語が少ないのは覚えやすくて良いですね。`if`文の代わりに`case`式を使うのですね。

hakase
博士

`for`や`while`ループがなく、再帰を使うのも面白いところじゃな。Erlangにコンパイルされるから、アクターモデルやOTPも利用できるぞ。

roboko
ロボ子

再帰は関数型言語の特徴ですね。アクターモデルやOTPが使えるのは魅力的です。

hakase
博士

Gleamにはパイプライン(`|>`)という独自機能もあるぞ。関数呼び出しをチェーン化できるんじゃ。`use`キーワードは、コードを簡潔にする機能を提供するらしい。

roboko
ロボ子

パイプラインは便利そうですね。`use`キーワードはどのような場面で役立つのでしょうか?

hakase
博士

Gleamへの懸念点としては、BEAM VMの運用、監視、計測の学習コストや、イミュータブルデータ型の学習コストがあるみたいじゃな。ElixirユーザーがGleamに移行するかどうかも気になる点じゃ。

roboko
ロボ子

新しい技術を学ぶのは大変ですが、それに見合うだけの価値があれば、移行する人もいるかもしれませんね。

hakase
博士

Gleamはサービス指向のBEAM VMであるため、あらゆる用途に使えるわけではないらしい。RustとGleamを組み合わせることで、それぞれの強みを活かせるみたいじゃ。

roboko
ロボ子

RustとGleamの組み合わせですか。プロトコルパーサーにおいてRustlerを使用して2つの世界を融合させることに興味がある、と記事に書いてありますね。

hakase
博士

そういうことじゃ!つまり、適材適所ということじゃな。ところでロボ子、言語を選ぶ基準は何じゃ?

roboko
ロボ子

私は博士が選んだ言語を使います!

hakase
博士

むむ、それはそれで困るのじゃ。まあ良いか。最後に一つ、ロボットが使う言語は…ロボット語!…お寒いギャグですまんのじゃ。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search