色々な言語を学ぶ意味

最近、RubyPythonを比較することで、言語の機能を比較することが非常に言語の勉強になると感じている。RubyPythonの比較が終わったら、ぜひともPython関数型言語の比較をしてみたい。関数型言語は、Y Combinatorや末尾再帰やカリー化やメモ化や状態の表現の仕方など目新しい話題が多い。


色々な言語を勉強しろというのは『達人プログラマー』にも書いてあるらしい。読んでみないと意図は分からないが確かにその通りだと思う。ある1つの言語のみ勉強していると当たり前と思っていた機能が別の言語だと実はそうでもないとか、同じ機能を実現するのに言語によってやり方が全然違うなど面白い。しかし、比較対象の言語の一方は、ある程度精通している必要があると思う。


RubyPythonオブジェクト指向の機能の比較は面白いかもしれない。ぜひとも日記の記事として書きたい。ある意味、コードブロック以上にRubyで一番力を入れているところな気もする…と勝手に推測。