手続き型脳と関数型脳

http://www.atdot.net/s-prosym2007/#l12
より。
手続き型プログラミング言語に慣れ親しんできたのでこの手の関数型の記述は一見何をやっているのか全く分からない。
おそらく手続き型らしい*1表記でないと状態遷移が頭の中に浮かんでこないようになっているのだ。
他の表記でも状態遷移が頭の中に浮かんでくるようにトレーニングが必要かと感じた。


ということで、関数型言語について調べてみた。
http://ja.wikipedia.org/wiki/%E9%96%A2%E6%95%B0%E5%9E%8B%E8%A8%80%E8%AA%9E

そのため参照透過性が保たれる。簡潔にいえば、変数への代入が最初の定義時しか起こらない言語の事である。

なるほど。だからバグがおきにくいのね。と言うか・・・これって手続き型言語でもこの手のテクニックはひとりでに覚えていくようなものだと思っていたのだけれども・・・。

*1:C言語の教科書らしい再帰関数を極力使わないような