(1) Erlang/OTPが必要だから
(2) Elixirにしたいから
(3) Phoenixにしたいから
(1)なら是非検討すべき。
(2)ならRubyやGoでもいいのかもしれない。
(3)ならRailsのほうがきっといい。
Erlang/OTPのいいところ
- (ちゃんと適切に使えば)落ちないサーバをつくれる
- 並行処理で性能を出しやすい(マルチコア、サーバ分散)
- バイナリプロトコルで24時間365日動き続ける超高性能ネットワークサーバが得意
Erlang/OTPのつらいところ
- 文法
- OTPのプロセス設計という特殊技術が必要
- テキスト処理がやりにくい
Elixirのつらいところ
- 深追いするとErlangにたどり着く
- Erlangのライブラリもよく使うことになる
- Rubyに似てるとはいえ、まったく違う言語
Elixir,Erlang/OTPにしないほうがいい理由
- 単一のErlangプロセスの性能はよくない(C++やGoがよい)
- 作りたいものはWebアプリだ(Railsはなんでもそろってる)
- Erlang/OTPがこわい
Elixirを検討してもいいかもしれない理由
- Erlang/OTPを使う大きなコストを払ってでも落ちない超高性能システムを構築したいがErlangは嫌だ
- Erlang/OTPの世界をちょっとのぞいてみるきっかけとして
- OTPの強みについて理解した上でErlangを避け気味に高性能なネットワークサーバを書きたい