寝言ポエムでサイエンス

http://blog.goo.ne.jp/kamimagi/e/06ba297c6081d55ce8c4f44aea79f5a7

 商業的に使えるアルゴリズムが科学で
 商業で使えないアルゴリズムが哲学ってことにしておこう。

『自然科学を都合のいい辞書と考える人』ってオレのためにある言葉だよな。
 アルゴリズムが理解できないから結果だけ憶えて使うっての。

「正統な(普通に言われている)」科学のひとつひとつの知識は、アルゴリズムというよりコードじゃないかな。科学相対論になっちゃうけど、正統な科学に限らず、いろいろなプロジェクトがあり、いろいろな「科学」があってもいいとおもうんだ。で、
・ちゃんとドキュメントを書こう
ソースコードを見せよう
・バグが出たら、コードのミスか、不適切なデータか、もしかすると組み込んだコードのバグかもね
 こういうプロジェクトが、どんどん伸びていったんだ。これがプロジェクト:近代科学。だって、みんな使っているコード使えば、自分の作品も安心だもの。「リンゴが落ちるといったから今日があなたの重力記念日」な、エライ人が書いたコードだったとしても、例外状況でエラーが出たら、パッチをあてちゃう。書き直しちゃう人もいるけど、大抵古いコードでいいね。凄くエライ人が作ったプロジェクトだと、エラーが出ても、仕様です。って直してもらえないんだ。不自由だね。だから、大抵の人はプロジェクト:近代科学が好きなんだ。それに、「数学」という処理系を使うと、エラーが少ない。「数学」者は、処理系の開発をやっているのでアプリケーションを作らないけど、それが仕事だからいいよね。ユーザーさんはコンパイラ使わないけど、世の中にコンパイラインタープリタもないと困ると思うんだ。「数学」じゃない処理系を使うと、実は便利なんだ。コンパイルエラーが出ない!あいまいな処理系って凄いね!でも、実行時エラーが多発するらしいよ。


 もちろん、「ユーザー」は、ソースを見る必要は必ずしもないし、コンパイルする必要もないよ。でも、もし、必要があれば、ドキュメントを見たり、ソースを調べたり、MLになんか書いてみたりすることはできるかもね。そういうプロジェクトが近代科学なんだ。適切なものに適切なデータを入れると適切なアウトプットを返すことは確かめられるけど、全宇宙の真理を出してくれるわけじゃない。でも、みんなコード書いてデバッグしてがんばっているんだ。まあ、たまに人のコード丸写ししちゃう人もいるけど、愛嬌だね。
 プロジェクト:近代科学 は、いろいろ前置きが長かったり、小うるさかったりするし、保証もあんまりしてくれないんだ。プロジェクト「古典宗(ry」は、なんでもできる、というんだけど、あまり流行らない。喜んで契約すると、お布施お布施お布施と追加料金を請求され、結局プロダクトができなかったりね。で、最近流行っているのは、プロジェクト「近代科学」から、適当なコードを引用して、好きなアプリをくみ上げる、プロジェクト「(前略)科学」だ。ちゃんと、ソースつけて、デバッグやって、実証やって、きちんとしたドキュメント付ければ、べつにおともだちになれるとはおもうんだ。でも、そんなこというと、「わしらは子供の味方なんだ。疑うなんてとんでもない」っていわれちゃう。しまいには、「あんたんとこだって脆弱性はあるだろ?こっちにだってあって当然だ」なんて、M(略)みたいなことをいわれちゃったり。でもいいのかな。それ、正しく動くのかな。エラーが出ても「仕様です」で片付けられちゃうよ。ああ、そうそう。哲学?哲学を処理する関数ってプロジェクトにあったっけ?


 という寝言。むにゃむにゃ。