読書メモ: Learn You Some Erlang for Great Good!: Introduction
はじめに
個人の話
並列処理という言葉自体がもつ魅力、そしてたまに聞く噂話が積み重なって、とうとうErlangへの好奇心を抑えきれなくなった。2017年も最後の日にしてErlangについて学び始めた。2018年も最初の日にしてLearn You Some Erlang for Great Good!を読み始めたのでその記録を残そうと思う。
Learn You Some Erlang for Great Good!について
邦訳では「すごいErlangゆかいに学ぼう! 」という題で出版されている。
- 作者: Fred Hebert,山口能迪
- 出版社/メーカー: オーム社
- 発売日: 2014/07/04
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (10件) を見る
英語版はIntroduction | Learn You Some Erlang for Great Good!で読める。今回はこれを読んでいく。
読書メモ
(メモだから主観も含まれるし翻訳じゃないよ)
http://learnyousomeerlang.com/introduction#about-this-tutorial
So what's Erlang?
- Erlangは関数型言語。しかし現実の問題に即して実用的なアプローチを取る。すなわち、参照透過性やデータのimmutabilityといった関数型言語の原則は適宜破られる。
- 同時に多数のタスクを処理するために、ErlangはErlangはアクターモデルを採用している。アクターはそれぞれVM上の独立したプロセス (注: 他資料によるとOSのプロセスとは異なる)
- プログラマーは、互いにメッセージの受け渡しをしない限り他のコードとは情報を共有しないアクターを書くことが求められる。
- Erlangは言語レベルでアクターモデルを使うように設計されているが、それだけではない。Erlangは全体として開発環境であり、compiler, debugger, profiler, test framework), the Open Telecom Platform (OTP) Framework, a web server, a parser generator, and the mnesia database, a key-value storage systemといったものを含む
- 他、Erlangの一般的な方針として "Let it crash" がある