小型コンピューターの初期の時代には、Microsoftを含む多くの企業がPascalのコンパイラーを開発した。その中で最もよく知られていて、一番使いやすかったのは、多分Borlandのものだった。実際、私がWirth博士にインタビューするためにチューリヒを訪れたとき、ETHの医学部は、5万行(後にもっと多くなった)に及ぶBorland Turbo Pascalの医療診断プログラムを使用していた。

 Turbo Pascalは発展してDelphiになり、Delphi 2009がこれの最新のバージョンだ。私はDelphiの最新のバージョンを使ったことはない。だがパーネル夫人の読み方プログラムはDelphiの初期のバージョンで書かれ、Windowsのいくつかのバージョンで動き続けている。

 プログラミングを学習したい人には、Pythonを勉強して、Pascalチュートリアルを使ってみるのが安上がりな方法だ。それで原理を学べば、ほとんどどんな言語を学ぶときも役に立つ。

 ひとつ警告がある。PythonもPascalも「効率的な」言語ではない。また、CやC++のような「実用的なシステム開発言語」でコードを書く人は、Pascalのプログラマーをあからさまに軽蔑する。数年前に私の友人で、同僚だったこともあるMarvin Minskyが私が強力な型チェックを持つ言語が好きなことについてこう言った。「彼は仕事に行く前に拘束服を着るのがよいと思っている」。Marvinは、ほぼありとあらゆる言語でプログラムできる(断言できるが、素人が知っているのはほんの2、3種類だけだ)。当時、彼のお気に入りはLISPだったが、私は彼がAPLを使っているのも見た。当時、言語の効率性は非常に重要だった。コンピューターのメモリー、ディスク容量、速度に厳しい制限があったからだ。

 今は状況が違う。しかしその当時でさえ、高度に構造化された(つまり、「制限のある」)言語を使うことは多くの人が考えるほどコストはかからなかった。高度に構造化された言語でプログラムを書く方が時間がかかるし、確かにコンパイルにももっと時間がかかる。だが、重視すべきなのは、プログラムを始めてからアプリケーションが動くまでの時間だ。また、非構造的な言語をデバッグする方がどう考えてももっと時間がかかる。さらに、それらはハックや攻撃に対してもっと脆弱だ。例えば、コンパイル時に範囲チェックをするプログラムは、一般的にスタックオーバーフローハックされない。

 この意見によって言語に関する論争が始まるかもしれないが、私がプログラムを学ぼうと思っている人を対象に話をしていることを忘れないで欲しい。

Wikipediaの信頼性

 Wikipediaはものすごく便利だ。その歴史と目的については、WikipediaにあるWikipediaの記事(英文)を参照して欲しい。理論的には、誰でもWikipediaの項目を編集することができる。つまり、荒しが項目を破壊することがあるが、ほぼ即座に、誰かがそれを正しい状態に戻す(前にそこにあったものが回復された場合だ)。項目を不正に変更するゲリラは、これに反対するゲリラによって監視されている。理論的には項目は客観性が高まり、誰もが書き換えずにそのままにしておこうとするはずだ。

 それほどいろいろな意見が出ない項目もある。科学と技術の記事は、その分野の最高のエキスパートが読むこともある。少なくともある研究によれば、オンラインのブリタニカ大百科事典よりもWikipediaの方が誤りが少ないとされている。

 よいにつけ悪いにつけ、Wikipediaは存在していて、多くの場合、意見が一致している情報を探すのに最初に見る場所となっている。そして、それを理論上他の何よりも適切な唯一の情報源として利用する人もいる。一方、この考えには好ましくない点もある。

 まずForbesの空売りの記事(英文)を読み、Register(Webサイト)にあるWikipediaの項目が不正に操作され、市場の混乱を引き起こしているという記事(英文)を読んで欲しい。この主張を証明できるかどうかは疑わしいが、確かに興味深い。私はこの話はまだ結論が出ていないと思う。