7つの言語 7つの世界

7つの言語 7つの世界

7つの言語 7つの世界


サピア=ウォーフの仮説というものがある。「言語は、人間の思考に影響を与える」という仮説だ。
この仮説は経験則から言えば正しい。ドイツ国民が論理的な思考能力を持っているのはドイツ語の規則正しさに由来すると言われている。3より大きい数字を表す言葉が無い民族は、3より大きい数字を記憶することが困難である。これらはいずれもサピア=ウォーフ仮説を裏付けるものだ。

しかしそれ以上に、自然言語よりプログラミング言語に於いてこの仮説は正しさを増す。オブジェクト指向しか知らないプログラマはプロトタイプ指向を理解しにくい。命令型プログラミングしか知らないプログラマは宣言型プログラミングを理解しにくい。

この現象から導き出される答えは一つ。
プログラミング言語の能力によってプログラマの能力を制限しないために、プログラマはより多くの言語を学ぶべきなのだ。
特に、異なるパラダイムを持つ言語を学ぶことは非常に有意義である。


本書は、言語によって思考が制限されているプログラマの枷を外すのに最適な一冊だ。
タイトルにもある通り、7つの言語が紹介されている。Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. どれも大変に魅力的な言語で、JavaPHP しか知らないプログラマが読めば世界が一変することは間違いない。本書の良いところは、単に言語の紹介に終わるだけではなくその言語の魅力的な点を伝える事に重点を置いているところだ。複数の言語のおいしいところだけつまみ食いできるなんとも贅沢な一冊。

そして本書を読み終えると、この7つの言語だけでなくもっと他に面白い言語は無いものかと躍起になって探すことになる。Lua, LISP, ML, AWK, SQL, OCaml, Pascal, Brainfuck, etc。もちろん、メジャーどころも含めて。Java, Perl, Python, C, C++, C#, PHP, JavaScript, etc。


知的好奇心をここまでそそられ、満たされる本はめったに無い。
他の言語も知った上で、今のメイン言語を使えればより視野が広がり、良いコードを書く助けになるだろう。