Erlangプログラミングを読みながら特徴を随時更新していく感じ
- 関数型プログラミング言語の中でも文法がとっつきやすい
- 20年を越える歴史がある
- 高度な信頼性が要求される通信機器の分野でも実績がある
- OTPのフレームワーク
- マルチコアコンピュータでより高速にプログラムを実行できる
- 複雑な並列プログラミングを簡単に書ける
- 人間
- 相手と脳の記憶を共有することはできない
- 相手に記憶を共有するには話しかけメッセージを送る
- 相手はそれを聞き記憶を変化させる
- 相手への話しかけから返答がなければ受け取ってくれたかはわからない
- Erlangプロセス
- 共有メモリはないく、各プロセスが専用のメモリを持っている
- 別プロセスのメモリを変えるには、そのプロセスにメッセージを送る
- 別プロセスがメッセージを受け取ってメモリ変更してくれたかはそのプロセスに問い合わせ or 返答がなければわからない
- 数十、数千、数十万の小さなプロセスを独立して動作できる
- プロセスの生成と破棄は非常に高速
- プロセス同士はメモリを共有せず、完全に独立している
- メモリ共有がないので、使用中にロックする必要はない
- プロセス同士が対話する唯一の方法はメッセージのやり取り(メッセージパッシング)
- プロセス同士のメッセージ送信は非常に高速
- どのオペレーティングシステムの上でもプロセスは同じように動作する
- プロセス同士をリンクさせると、一方が死ぬとその理由をもう一方へ送信される