前からErlangを学習したいと思ってたけど、他にやりたいことがあって
なかなか手をつけられずようやくって感じです。
Erlangで何かサービスを作りたいとか業務で使いたいとかは全然なくて
言語として学習してみたいという興味が強くて始めました
始める動機としては以下があります。
- 純粋な関数型言語を覚えたい
- ネットワークプログラミングに知見を増やたい
- 並列、並行の処理の知見を増やたい
って感じです。
純粋な関数型言語を覚えたいってのは、プログラムの実装バリエーションが増えるからです。
以前lispを勉強したとき、オブジェクト指向や手続き型にはあまり意識したことがない
実装パターンなどを触れることができ、クロージャや再帰のパターン
副作用がない関数など、プログラミングする上での実装の幅が広がりました。
そのときに、純粋な関数型言語も一度は学習していみたいと思ってました。
ネットワークプログラミングは去年から学習を進めているところで
TCPレイヤーでのプログラムミングをC, Go, Pythonで浅く広く
やってってるのでErlangでも覚えたいってとこです。
並列、並行の処理では、thread, goroutineを触ってきて
Erlangのプロセスの挙動などもどうゆうものか知りたい感じです。
始める動機書いてみたけど、Erlangのことはふわっとしか知らないので
Erlangの人で有名な@voluntasさん以下の記事を参考にして飛行機本から始めました!
http://voluntas.hatenablog.com/entry/20110319/1300525884
まずは飛行機本を買いましょう、飛行機本を買えないのであれば Erlang を学ぶのはあきらめた方が良いくらい良著です
学習メモ Index
- Erlangプログラミングについて
- プログラミングErlang - 基本1
- プログラミングErlang - 基本2
- プログラミングErlang - 例外
- プログラミングErlang - 用語
- プログラミングErlang - 属性
- プログラミングErlang - 式
- プログラミングErlang - 構文
- プログラミングErlang - コンパイルと実行
- プログラミングErlang - 並行プログラミング
- プログラミングErlang - 並行プログラミングにおけるエラー
- プログラミングErlang - 分散プログラミング
参考記事
https://gist.github.com/voluntas/7278561