うらおブログ(移転しました)スマートフォン用の表示で見るやねうらおブログ(移転しました)この広告は、90日以上更新していないブログに表示しています。programmingよく勘違いされるが、進化と進歩はまったく違う。進化によって、必ずしも環境に適応していくとは限らない。ラマルクが唱えた用不用説を考えてみよう。「よく使う器官が世代を重ねるごとに発達し、反対に使用しなくなった器官は次第に退化する」という例のやつだ。キリンの首が長くなった理由をこの用不用説で考えるとうまく説明がつくのだが、この進化論は獲得形質の遺伝に基礎をおくものであって、その後の遺伝学の発達によって獲得形質の遺伝は完全に否定されている。*1生物がなぜこのような遺伝システムになっているのか?それは、環境に適応していくような進化の仕方は、危ういというのはあると思う。高いところの食べ物をとるために集団のすべての個体が首を長く進化したとしたら、ある日環境の変化によって高いところの食べ物が無くなったときに、その集団の個体すべてが死滅してしまう。進化においては集団の変化に対するrobustness(強健さ)がある程度保たれていなければならない。環境に対する局所解に収束することが進化の役割ではないのだ。プログラミング言語にしてもそうだと思う。一から言語を設計するなら、「もう、いまどき必要ないよね」って発想で使わなくなった機能を切り捨てれば、ある程度エレガントな言語が出来る。JavaとかC#とかがそうだ。それは確かに進歩はしているのだけど、それは上に書いた意味での“進化”ではないと思う。状況が少し変わっただけでJavaやC#が何の役にも立たないことはいまだにあるからだ。上記の本文とはあまり関係ないが、久々の良書なのでついでに紹介しておく。(岩谷さんの翻訳文章はかなり不評だけど、この本は、まだ許せる範疇だと思う。)*1:このへんどうしてもドグマティックにならざるを得ないので、これ以上突っ込んだ話はしないことにする。電子書籍になるに至るまでの話ブログちょっとだけ移転のお知らせ時代はまだゲームセンターあらしに追いつかないのかやねうら王、電王戦バージョン提出しました将棋の神様のレーティングはいくつなのか?月別アーカイブはてなブログをはじめよう!yaneuraoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。