混沌の館にて


ジェリー パーネル (著), 日経バイト編集 (編集), Jerry Pournelle (原著)
出版社: 日経BP社 ; ISBN: 4822206645 ; (2004/10)

著者のサイト

2005年の暮れになぜか1985–2004のPCの歴史を読む。技術的なことに詳しい人が大局的なことを語るというのは日本ではあまりないから、こういうのは面白い(大局的なことを語る人は、技術的詳細に疎いというか憎んでいることが多く、技術的なことに詳しい人は大局的なことを感情的に語るか軽蔑的に語ることが多い)

1985年(私は物心付いていたはず)の時点で、すでに68000があり、Excelがあったことに感心する。それでもメモリは512Kバイト程度、20年で数千倍になったわけだ

1993年の記事。とかくこの手の話ではMicrosoftは悪者になることが多いのだが、OS/2の失敗は、IBMに責任があった。COMDEXの会場で、Microsoftは開発ツールを無償で配っていたのに対し、IBMは「わずか」500ドルで売っていたという

Windowsがすでに多数のアプリケーションとデバイス・ドライバを持っていることをIBMは完全に無視している。IBMは追いつこうとしていないのだ。(p.153)

これに関連して2000年のMicrosoftの独禁法裁判の認定書についても面白い指摘が

  • IBMは自分でこけたのであって、Microsoftの市場支配のせいではない
  • IBMはCD-ROMへの関心が不足していた
  • IBMはOSへのネットワーキングの組み込みが持つ潜在的市場価値を認識していなかった
  • AppleはExcelやPowerPointがはじめはMacでしか走らなかったというビジネス上の優位を利用しなかった
  • 「Windows98は現行価格よりも約30ドル低価格であるべきだ」などと政府が言うべきではない
  • 報告書は「Microsoftが技術革新をやりすぎた」などと、それが悪いことであるかのようなことを言っている

Internet Explorerを無料で頒布する許可を得るためにJanet Rino司法長官のところに行ったとしたらどうなるかを考えてみてほしい。どちらのブラウザが「より良い」か、また「競争的」が何を意味するかを政府機関が決めようとしたり、Internet Explorerの新バージョンなどの製品価格をMicrosoftがどこまで下げてよいか(上限ではなく下限なのだ)を決めようとしたりする状況を考えてほしい。(p.259)

ゲイツは常に、業界の誰よりもムーアの法則をよく理解していた。何かを少しでも走らせることができるなら、とりあえずそれを世に出す。速度がのろくて不器用かもしれないが、ハードウェアの改良がそれを救ってくれる。すでに使われているハードウェアで完璧に走るようになるまで待っていると、そのソフトはリリースされる前に時代遅れになってしまう。(p.338)

知的財産についての現実的な提案

  • 知的財産(歌、本、その他なんでも)をダウンロードするために、少額の料金を集めるソフトウェアを作ることは難しくないだろう。そのお金を直接アーティストや作家に支払うようにできる。(p.276)
  • OSとアプリケーション・ソフトウェア・ライセンスの両方に関しては、「これを本のように取り扱え」という古いBorland製Turbo Pascalのライセンス・ポリシーを実行する方が、より簡単ではないだろうか。(p.302)

どちらも技術的には可能だ。パンを食べられなくなるピンハネ業者が必死に抵抗していることは知っての通り(パンを食べられないくせにケーキを食べようとしないでほしい)

ソニーの「沈黙」8—「E.T.」の目で眺めた惑星“汚染”(日本人はちゃんとしつけられているから、被害が多くても騒ぎ立てたりはしない。「ソニー製品に盗聴器が内蔵されていました」と言えばメディアでも理解できるだろうが、報道されるかどうかはまた別の話。ソニーの知り合いには悪いが、つぶれちゃえばいいのに)

プログラミング言語について

Cはコンピュータ界に大災害をもたらしたと私は思う。(p.198)

著者は言語論争を「型付けと範囲チェックを導入するかどうか」という観点でとらえているが、Marvin MinskyがC言語を支持していると書きながら、括弧付きで

もっとも、彼らは自分たちの仕事にはLISPやAPLのような言語を使用した(p.340)

と言っている

常々思うのだが、すべての人が使えるようなプログラミング言語を求めるのはやめたほうがいい。世の中、賢い奴もいればバカな奴もいる。みんなが同じ道具を使ってたら気持ち悪い

  • 奴隷のようなコーダーは強く型付けされた言語を使えばいい
  • 実力のあるコーダーはもう少し緩やかな言語を使ってもいい
  • Minskyにあやかりたいと思うなら、もう少し抽象度の高い言語を使うべきだ

一番利用者が多い言語は、一番人口が多い層で使われているはず。もしそうでないなら、そこに属する多くの人びとは虐げられているということになる。そんなことは認められないよね。そこが最も賢い人たちの階層でないなら、そこで使われている言語が最強のものでないからといって、それを押しつけるなんてやめたほうがいいよね、

言語なんてなんでも同じと思っている人は、これをC言語でやってみてほしい。こういうのは現実の問題では出てこないと思う(「証明できる」ではない)人は、「現実をこうでないようにしか見られなくなっている可能性」を心配してみてほしい(プログラミング言語版サピア・ウォーフ仮説)

混沌の館の実物?

混沌の館

補足

レベルに応じて使うプログラミング言語が変わるのは当然だが、あるレベルに適した言語が一つだけということはない。言語を一つしか知らずによいプログラマになることはできないだろうし。Peter Norvigは「プログラミングを独習するには10年かかる」の中で「少なくとも半ダースのプログラミング言語を学ぶこと」と言っている。それら中には次のようなものが含まれていなければならないらしい

  • クラス抽象をサポートするもの(例えば Java や C++)
  • 関数抽象をサポートするもの(例えば Lisp や ML)
  • 構文抽象をサポートするもの(例えば Lisp)
  • 宣言的記述をサポートするもの(例えば Prolog や C++ テンプレート)
  • coroutine をサポートするもの(Icon や Scheme)
  • 並列処理をサポートするもの(例えば Sisal)

情報科学科以外の学生は、自分で勉強するしかない。とはいえ、

Mathematicaは,手続き型,関数型,パターン・マッチング,オブジェクト指向のすべてのスタイルでのプログラミングが可能なマルチパラダイムのプログラミング言語を備えている(Conrad Wolfram (Wolfram Research) インタビュー)

だから、ちょっと近道になるかもしれない。でも、言語からの制約はないから、好きな形式でしか書かない人がほとんどか

さらに先の話になるが,Mathematicaの言語部分だけを切り出して,「Wolfram言語」とでもして,アプリケーション開発者が自由に使ったり,開発したプログラムを自由に実行できるようにすることも考えている

早くやれば世界を変えられるかも

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です