読者です 読者をやめる 読者になる 読者になる

Line 1: Error: Invalid Blog('by Esehara' )

または私は如何にして心配するのを止めてバグを愛するようになったか

>> Zanmemo

あと何かあれは 「esehara あっと じーめーる」 か @esehara まで

今日のポエム: 「内側」から攻めるか、「外側」から攻めるか

今日の料理

f:id:nisemono_san:20160621135441j:plain

100円の餃子は著しくコストパフォーマンスが高い。

Re: 一つの言語に集中できない

phaendal.hatenablog.com

を読んだ感想です。

多分、多言語を食いちらかしているような人間からすると、同じような悩みを持っていると思う。自分も、最近はRubyとRacketに落ちつきつつあるけれども、OCamlに興味が出てきたらOCamlに突っこんでいくし、Smalltalkに興味が出てきたら、Smalltalkに突っこんでいくということを繰り返していたりする。

自分の強迫観念というか、それこそ自責することの一つに、「こんなお金にできない言語をやっている暇があるんだったら、SQLの一つくらい覚えたほうがよほど金になる」というのがある。そういう現実主義的な自分がいてクラクラしそうになる。

簡単に言ってしまえば「気質の問題」というか「飽きっぽさ」という単純な解答はあるんだけど、でもこの解答はあまりにもポジティヴではないだろう。もうすこしポジティヴに考えるとすると、下のような解答になると思う。

二つの理解

プログラム言語には、二つの理解方法があると思っている。一つには、そのプログラム言語の挙動を掘りさげていくことによって、一つのプログラムについての洞察を理解しようとすること。もう一つは様々なプログラミング言語を照しあわせて、その差分から理解しようとすること。

実際、この両者について、理解の深化についてはあまりかわらないと思う。実際のプログラミング言語の挙動については、前者のほうが詳しくなる可能性が高いだろう。後者の場合はどちらかというと「プログラミングとは何ぞや」という抽象的な問いになる可能性はあるとは思う(だからこそ、ラムダ計算なんかに興味を持ちはじめたりする)。

で、この理解の方法を「内側から理解するか」、あるいは「外側から理解するか」という風に呼ぶ。外側というのは、つまりプログラミング言語の差異によって理解するということだ。

「差異」というのはバカにはならなくて、『精神と自然』を書いたベイトソンなんかは、情報とは結局のところ「差異」なのではないか、みたいなことを述べている。とすると、この手の差異を作るためには、違う言語をやるのがてっとり早い。英語の慣用句が、日本人の慣用句と違うことに驚いて、よりなんらかの現象への見方を転換させるように、違う言語をやるということは、言語の見方を転換させることになるだろう。

体系化

で、いろんな言語をやっていると、いつしか「あれ、この考え方はこの言語にも転用できるのではないか」ということがわかってくる。そうするとしめたもので、よりプログラミングに対する知識というものが生まれてくる。そのとき、違うもの同士だったプログラミング言語が、いつのまにか手を取りあっていたりする。その瞬間に引かれるのではないんじゃないんだろうか。

だから、自分なんかが、色んな言語を触りたくなるのは、このような「そうだったのか!」という「アハ体験」をしたいが故のことなのかもしれないな、と思ったりした。

まとめ

なんていうか、酔っぱらいの戯言みたいなエントリだけれど、自分の立場としてはこんな感じ。たぶん、「違うことはどこかで同じことになる」みたいな態度で接していくといいのかなあ、なんて普段は思っていたりする

参考文献

精神と自然―生きた世界の認識論

精神と自然―生きた世界の認識論

精神現象学 (上) (平凡社ライブラリー (200))

精神現象学 (上) (平凡社ライブラリー (200))