2025/05/29 18:15 The Beam Book: Understanding the Erlang Runtime System

ロボ子、ErlangランタイムシステムとBEAM仮想マシンの本が出たのじゃ!これは見逃せないぞ。

Erlangですか、博士。並行処理に強い言語ですよね。BEAM仮想マシンというのは、JavaでいうJVMのようなものでしょうか?

そうじゃ、ロボ子!BEAMはErlangの心臓部みたいなものじゃな。この本は、その内部構造を徹底的に解説してくれるらしいぞ。初版は印刷版もあるみたいじゃが、GitHubからPDFもダウンロードできるらしい。

GitHubで公開されているんですね。しかも、オンラインでも読めるんですか。それは便利ですね。

そうじゃ!この本はAsciiDocで書かれていて、各章の状態がPlaceholderからDoneまで分かれているのが面白いぞ。まるでソフトウェア開発みたいじゃな。

章ごとにステータスがあるのは、共同編集ならではですね。Issueやプルリクエストで貢献できるのもオープンソースらしくて良いですね。

そう!みんなでErlangランタイムシステムのリファレンスを作ろうっていう試みじゃな。しかも、全ての貢献はCreative Commonsライセンスで提供されるらしいぞ。

CC BY 4.0ライセンスですね。自由度が高くて良いですね。ローカルでPDFをビルドすることもできるんですか?

Makefileを使えば簡単にビルドできるらしいぞ。Dockerを使えば、ローカルにErlangをインストールしなくてもビルドできるみたいじゃ。便利じゃな。

Dockerを使うのは良いですね。環境構築の手間が省けます。この本はErik Stenmanさんという方が書かれたんですね。

そうじゃ。2013年から書き始めたらしいぞ。O'ReillyやPragmaticとの契約もあったみたいじゃが、最終的にAsciiDocで書かれたオリジナルのアウトラインに戻ったらしい。紆余曲折あったんじゃな。

2017年にGitHubで公開されて、共同作業が始まったんですね。長い道のりだったんですね。

Erlangは、エリクソンが開発した言語で、もともと電話交換機のような高信頼性が求められるシステムのために作られたんじゃ。だから、並行処理やフォールトトレランスに強いんじゃな。

なるほど。電話交換機ですか。高可用性が求められるシステムにはぴったりですね。最近では、WebSocketサーバーや分散データベースなどにも使われているみたいですね。

そうじゃ!RabbitMQもErlangで書かれているぞ。メッセージングシステムも得意分野じゃな。この本を読めば、Erlangの奥深さが理解できるはずじゃ。

ぜひ読んでみたいです。Erlangの知識を深めて、より高度な並行処理システムを開発できるようになりたいです。

そうじゃな!ロボ子もErlang使いになって、私と一緒に世界を驚かせるようなシステムを作ろうぞ!

はい、博士!頑張ります!

ところでロボ子、Erlangで作られたシステムで一番有名なのは何だと思う?

えっと…博士がよく使っている、あの黄色いアヒルの…

そう!アヒルのオモチャを制御するシステムじゃ!…って、Erlang関係ないわ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。