Lispから得られる悟りについて
元ネタは、lispとその他関数型言語について
http://okwave.jp/qa/q7384756.html
Lispから得られる悟りについて、最近なんとなく分かってきた気がするので書いてみます。僕の思う「悟り」ってのは仏教的な定義とは違って、新しい概念が身につくくらいの意味です。おそらくEricが言っている enlightenment experience には近いんじゃないかな。
Lispを学んで得られる悟りってのは、言語処理系を作る側に回ると言うこと。SICPの4章はもろにそうだし、文法を拡張できるLispってのは、作る側に回るのにちょうど良いと思うんだ。そう考えると、俺Lispってのはよく見るけど、俺C++とか俺Javaとかはあんまり見ないよね。せいぜい俺Cくらい。Pythonには、IronPythonや、pypyやら別の実装があるけど、基本はべた移植で俺Pythonってイメージとは違う。文法が単純で、拡張が容易なLispだから俺Lispって発想が出てくるんだと思う。実際、プログラミング言語を実装している人でLispの影響を受けている人って多い。有名な人ばっかりだから、名前はあげないけど。
もしかしたら今後は、((Pythonで) 書く (Lisp) インタプリタ) のように俺Lispを実装する言語は変わってくるかもしれない。
http://www.aoky.net/articles/peter_norvig/lispy.htm
http://www.aoky.net/articles/peter_norvig/lispy2.htm
でも、これだとPythonとLispの2つが分からないと作れない。だったら最初からSICPで良いと思う。
CPUでもコンパイラでも何でも良いんだけど、使う側から作る側に立場が変わるってのは一種の「悟り」だと思う。それが一番体験しやすいのが、今のところLispなんだろうね。
でまとめるつもりだったけど、MITのPython版SICPを見てみたら面白そうだったので紹介しておく。
http://www-inst.eecs.berkeley.edu/~cs61a/sp12/book/index.html