あどけない話

インターネットに関する技術的な話など

すご過ぎるとおもちゃに見える

「達人プログラマー」の14ページでは、「毎年少なくとも一つの言語を学習する」ことが提案されています。

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/11
  • メディア: 単行本
  • 購入: 42人 クリック: 1,099回
  • この商品を含むブログ (347件) を見る
この大切さを雄弁に語っているのは、「普通のやつらの上を行け」の『「ほげ言語」のパラドックス』です。(「ほげ」の部分は、もっと適切な単語に訳して欲しかったです。。。)

小賢しい人は、「ほとんどの言語はチューリング完全だ」だと反論します。そのとき、「じゃぁ、全部アセンブラで書けば」と感情的に言い返すことはできても、客観的に諭すことは僕にはできませんでした。

その答えを見つけたのは、LL Futureの「LL で未来を発明する」です。住井さんは、「すべての言語はチューリング等価だが、抽象度が違う」と説明されていました。「そうそう、僕はそう説明したかったんだ」と言い当てて頂いた気分です。

(関係者の人には申し訳ありませんが、率直に言って、このセッションは失敗だったと思います。せめて、10年後の話にしたらよかったのではないでしょうか? 松本さんの「数学の記号は数千年使われている」という発言にも、「おいおい」って思って聞いていましたが、住井さんが訂正して下さってよかったです。数千年前には数学がありましたが、そこで使われている表記に現在の我々が親しみを覚えることはまったくありません!)

抽象度の高いものと言えば、Haskell の代数データ型です。昨日、会社の若者に、こう説明してみました。

「昔、トロントに行ったとき、CNタワーという当時世界一高いタワーに登った。展望室の底にはガラス窓があって、そこから見ると人が蟻のように見えた。余りにも現実離れしていて、怖いと感じるのを通り過ぎて、下界がおもちゃに見えた。同じように、Haskell の代数データ型は、すご過ぎて一見おもちゃに見える。」

データを簡潔に表現することは、本当に大切です。僕の大好きな本「物理数学の直観的方法」の後記を引用して、この記事を締めくくりたいと思います。

一般に大きな発展の直前には必ずと言っていいほど記号の大幅な簡略化が行なわれているものである。...
数学の歴史が簡略化の歴史だというのは確かに一面の真理ではあって、例えば現在われわれが中学の数学の教科書でせいぜい数ページで学んでいる代数の内容が、中世では分厚い本10冊ほどもある難解な体系だったのだそうである。

物理数学の直観的方法

物理数学の直観的方法