AIに知能を奪われるな。エドガー・ダイクストラが万年筆を愛し、PCを遠ざけた本当の理由

AIに知能を奪われるな。ダイクストラが万年筆を愛しPCを遠ざけた理由 IT・テクノロジー史
ダイクストラが万年筆でプログラムの正しさを証明するイラスト

生成AIが数秒でコードを書く時代。便利だ。しかし、その裏で「自分で考える力」が静かに衰えているとしたらどうだろう。

その危険性を、半世紀前に警告していた人物がいる。エドガー・ダイクストラ(Edsger W. Dijkstra)だ。Googleマップの経路探索に使われる「ダイクストラ法」の考案者であり、OSの排他制御概念「セマフォ」の提唱者、そして構造化プログラミングの確立者。現代のデジタル社会の土台を築いたこの人物は、パソコンをほとんど使わなかった。代わりに愛用したのは、モンブランの万年筆だ。

なぜ世界最高峰の計算機科学者が、デジタルを拒絶したのか。そこにはAI時代の私たちに突き刺さる思想がある。

この記事でわかること

  • ダイクストラが「道具が速すぎると人間は考えなくなる」と主張した理由
  • 「テストではバグの不在は証明できない」という有名な言葉の本質
  • AI時代に思考力を守るための実践的なアプローチ

1. ダイクストラとは何者か?現代ITの土台を築いた抽象思考の巨人

📌 要点:ダイクストラの業績は最短経路アルゴリズムだけではない。OSの排他制御、構造化プログラミング、形式手法の推進など、現代のデジタル社会の基盤を支える理論の多くが彼の発明に基づいている。

エドガー・ダイクストラの名前を聞いたことがある人は多いが、彼が何をした人物かを正確に知っている人は少ない。代表的な功績を整理すると、まず「ダイクストラ法」がある。グラフ上の最短経路を効率的に求めるアルゴリズムで、Googleマップをはじめとするナビゲーションシステムの基盤技術だ。次に「セマフォ」がある。複数のプログラムが同時に実行される際に、データの競合を防ぐOS上の排他制御の概念だ。これがなければ現代のマルチタスクOSは存在しない。さらに「構造化プログラミング」の確立と「形式手法(Formal Methods)」の推進がある。

Googleマップの経路探索からOSの基礎概念まで、私たちのデジタル社会はこの一人の理論家の上に成り立っている。しかし彼は自分を「プログラマー」とは呼ばなかった。「プログラミングとはコードを書くことではない。正しさを論理的に導出する知的行為だ」というのが彼の一貫した信念だった。

2. なぜ万年筆だったのか?「摩擦」が思考を守る

📌 要点:キーボードは「すぐ書けて・すぐ消せる」環境を提供し、「とりあえず動かしてみる」という思考を伴わない態度を生む。万年筆の物理的な「書き直しにくさ」こそが脳をフル回転させる強制装置として機能した。

ダイクストラはワープロやコンピュータを嫌った。その理由は単純だった。「道具が速すぎると、人間は考えなくなる」というものだ。

キーボードは「すぐ書ける・すぐ消せる・すぐ修正できる」環境を提供する。これは「とりあえず動かしてみる」という、思考を伴わない実験的な態度を生む。何か書いて、動かして、エラーが出たら直す。このサイクル自体は悪くない。しかし、それが「考える前に書く」という習慣を作ると、本質的な論理の構造を理解しないまま「動くコード」が量産される。

一方、万年筆は書き直しが困難だ。一筆に重い責任が生じる。この「物理的な摩擦」こそが、脳をフル回転させるための強制装置として機能した。書く前に考える。書いたことの論理的な正しさを確認してから次へ進む。これがダイクストラの仕事のリズムだった。

彼が生涯で書き残した500以上の手書き原稿「EWD Manuscripts」はすべてモンブランの万年筆で書かれており、大学のアーカイブに保存されている。そのどれもが、推敲の跡が少ない、思考の完成度が高い文章だという。

3. 「テストではバグの不在は証明できない」という思想の核心

📌 要点:「テストはバグの存在を示せても、不在は示せない」という言葉は形式手法思想の核心だ。実装の前に数学的な「証明」を完遂することで、テストに頼らない正しさの保証を目指した。

「テストではバグの不在は証明できない」という思想の核心

ダイクストラの最も有名な言葉の一つがこれだ。「テストはバグの存在を示せても、不在は示せない(Testing shows the presence, not the absence of bugs)」。

これは形式手法思想の核心だ。どれほど徹底的にテストを書いても、それは「今まで見つかっていないバグが存在しない」ことの証明にはならない。テストは有限の事例しか確認できないが、バグは無限の入力パターンのどこかに潜んでいる可能性がある。

ダイクストラが目指したのは、実装の前に「証明」を完遂することだった。仕様を数学的に定義し、「不変条件(Invariant)」を明示し、論理的に正当化した上で実装する。このプロセスを守れば、テストに頼らなくても正しさが保証される。

情シスの現場で20年以上、システムの不具合対応をしてきた経験から言うと、この思想は「理想論だ」と言いたくなる部分もある。現代の開発スピードでは、すべてを数学的に証明してから実装するのは現実的ではない場面も多い。しかし「設計段階でどこまで論理を詰めるか」という姿勢は、明らかにバグの発生数と対応コストに直結する。ダイクストラが半世紀前に言ったことは今も正しい。

4. AI時代に起きている「思考力低下」の構造と処方箋

📌 要点:生成AIの最大のリスクは「思考の空洞化」だ。ロジックを説明できない、境界条件を理解していない、正しさを証明できない──これらはAIに依存するほど加速する。ダイクストラ流の解決策は「証明→実装」の順番を守ることだ。

AI時代に起きている「思考力低下」の構造と処方箋

生成AIは強力だ。しかし最大のリスクは「思考の空洞化」だ。AIが生成したコードをそのまま使い続けると、「なぜこの処理でいいのか」を自分で説明できないエンジニアが育つ。ロジックを言語化できない。境界条件(エッジケース)を理解していない。正しさを論理的に証明できない。

ダイクストラはまさにこれを半世紀前に予見していた。机の上にコンピュータを置くのではなく、机の上に万年筆を置いて手で思考を整理することで、機械への依存を防ごうとした。

AI時代のダイクストラ的な戦略は三つある。一つ目は「エディタを開く前に紙に書く」こと。前提条件・不変条件・終了条件を手書きで整理する。アナログの摩擦を利用して脳に負荷をかける。二つ目は「AIを”査読者”として使う」こと。「コードを書いて」ではなく「この論理に破綻はあるか?」という問い方だ。主導権を常に自分側に置く。三つ目は「証明→実装の順番を守る」こと。自分の脳で論理を証明した後にAIに実装させる。この順序を逆転させないことが、知能を守る唯一の道だ。


よくある質問

Q
ダイクストラ法とはどんなアルゴリズムですか?
A

グラフ上の1点から他の全頂点への最短経路を効率的に求めるアルゴリズムです。1956年にダイクストラが考案し、1959年に論文を発表しました。Googleマップの経路案内、ネットワークの経路制御(OSPFプロトコル)、ゲームのAI移動など幅広く使われています。計算量はO((V+E)logV)(V:頂点数、E:辺数)です。

Q
「EWD Manuscripts」とは何ですか?
A

ダイクストラが生涯にわたって手書きで書き残した原稿群の総称です。EWDはEdsger W. Dijkstraのイニシャルです。500以上の文書が含まれ、技術的な内容から哲学的な考察まで幅広い。テキサス大学オースティン校がデジタル化してオンラインで公開しており、無料で読むことができます。

Q
「形式手法(Formal Methods)」は現代でも使われていますか?
A

はい。航空機の飛行制御システム、原子力発電所の安全システム、医療機器のソフトウェアなど、バグが人命に直結する分野では形式手法が採用されています。ただし一般のWebサービス開発への普及は限定的で、「完全な形式検証は現実的なコストに合わない」という意見も多くあります。

Q
「不変条件(Invariant)」とは何ですか?
A

アルゴリズムやプログラムが正しく動作するために、常に真であり続けるべき条件のことです。例えばソートアルゴリズムなら「ループ中のi番目までの要素は常にソート済みである」という条件が不変条件になります。これを明示できるかどうかが、アルゴリズムを本質的に理解しているかどうかの試金石です。

Q
「セマフォ」とはどんな概念ですか?
A

複数のプロセスやスレッドが共有リソース(ファイル・メモリ・データベースなど)に同時アクセスすることを制御するための仕組みです。ダイクストラが1965年に提唱しました。「同時に入れる人数が決まっている改札口」のような制御弁だと考えると理解しやすいです。現代のOSや並列処理の基礎概念として今も広く使われています。


まとめ:知能の主導権を取り戻せ

  • ダイクストラはGoogleマップからOSまで、現代のデジタル社会の基盤となる理論を複数作り出した巨人だ
  • 万年筆を使い続けた理由は「道具が速すぎると人間は考えなくなる」という信念。物理的な摩擦が脳をフル回転させる強制装置として機能する
  • 「テストはバグの不在を証明できない」という思想は、実装前の論理的証明を重視する形式手法の核心だ
  • AI時代の思考空洞化を防ぐには、「エディタを開く前に紙に書く」「AIを査読者として使う」「証明→実装の順番を守る」の3つが有効だ
  • 便利さに思考を明け渡すな。知能の主導権は常に自分の側に置くこと

IT史の関連記事もあわせてどうぞ。

タイトルとURLをコピーしました