生成AIが数秒でコードを書く時代。
しかしその裏で、「自分で考える力」が静かに衰えているとしたらどうでしょうか。
その危険性を、半世紀前に警告していた人物がいます。
エドガー・ダイクストラ(Edsger W. Dijkstra) ダイクストラ法(Dijkstra’s algorithm)の考案者であり、セマフォ(Semaphore)による排他制御の提唱者、そして構造化プログラミング(Structured Programming)の確立者。
彼は「コンピュータ科学の父」と称されながら、パソコンをほとんど使いませんでした。
代わりに愛用したのは、モンブランの万年筆。
なぜ世界最高峰の計算機科学者が、デジタルを拒絶したのか?
そこには、AI時代の私たちに突き刺さる思想があります。
ダイクストラとは何者か?【IT基盤を築いた抽象思考の巨人】
エドガー・ダイクストラは、現代ITの土台を築いた理論家です。
代表的な功績:
- ダイクストラ法(最短経路アルゴリズム)
- セマフォ(OSの排他制御概念)
- 構造化プログラミング
- 形式手法(Formal Methods)の推進
- 500以上の手書き原稿「EWD Manuscripts」
Googleマップの経路探索からOSの基礎概念まで、私たちのデジタル社会は彼の理論の上に成り立っています。
しかし彼は、自分を「プログラマー」とは呼びませんでした。
プログラミングとは、コードを書くことではない。
正しさを論理的に導出する知的行為である。
なぜ万年筆だったのか?──「摩擦」が思考を守る
ダイクストラはワープロやコンピュータを嫌いました。理由は単純です。
「道具が速すぎると、人間は考えなくなる」
キーボードは「すぐ書ける・すぐ消せる・すぐ修正できる」環境を提供します。これは「とりあえず動かしてみる」という、思考を伴わない実験的な態度を生みます。
一方、万年筆は書き直しが困難であり、一筆に重い責任が生じます。この“物理的摩擦”こそが、脳をフル回転させるための強制装置として機能していたのです。
「テストでは正しさは証明できない」
彼の有名な言葉:
テストはバグの存在を示せても、不在は示せない。
(Testing shows the presence, not the absence of bugs)
これは形式手法思想の核心です。いくらテストを書いても、それは「まだ見つかっていないバグ」が存在しない証明にはなりません。
ダイクストラが目指したのは、実装の前に「証明」を完遂することでした。
- 仕様を数学的に定義する
- 不変条件(Invariant)を明示する
- 論理的に正当化する
- その後に実装する
実践:ダイクストラ流・抽象思考トレーニング
AI時代でも再現可能な思考プロセスを紹介します。
① 前提条件(Pre-condition)を固定する
例:「整数配列 A[0..n-1] が与えられ、n ≥ 0 とする」
曖昧な自然言語は禁止し、境界を明確にします。
② 不変条件(Invariant)を書く
例:「i が増加しても、A[0..i] は常にソート済みである」
この一文が書けないなら、アルゴリズムの本質を理解できていない証拠です。
③ コードを書かずに論理を説明する
for文やif文といった構文に逃げず、処理の本質を日本語で説明します。論理を言語化できないものは、正しく実装できません。
AI時代に起きている「思考力低下」の構造
生成AIは強力ですが、最大のリスクは「思考の空洞化」です。
- ロジックを説明できない
- 境界条件(エッジケース)を理解していない
- 正しさを論理的に証明できない
ダイクストラは半世紀前に、機械に依存することで人間の抽象思考能力が退化することを予見していました。
AI時代のダイクストラ的戦略
1. エディタを開く前に紙に書く
前提条件、不変条件、終了条件を手書きで整理します。アナログの摩擦を利用して、脳に負荷をかけてください。
2. AIを“査読者”として使う
×「コードを書いて」
○「この不変条件に論理的破綻はあるか?」
主導権を常に自分側に置く使い方が、知能を守る唯一の道です。
3. 証明→実装の順番を守る
AIを使うな、ということではありません。「自分の脳で証明した後に、AIに打たせる」。この順序を逆転させないことが重要です。
よくある質問(FAQ)
Q1. ダイクストラは本当にパソコンを使わなかったの? 完全に拒絶したわけではありませんが、主たる思考作業は手書きで行っていました。EWD Manuscriptsとして残る500以上の原稿はすべて手書きです。
Q2. 形式手法(Formal Methods)とは何ですか? プログラムの正しさを数学的に証明するアプローチです。テスト依存ではなく、論理的整合性を保証することを目的とします。
Q3. ダイクストラ法と思想は関係あるの? 大いにあります。ダイクストラ法も「局所的最適解の積み上げ」という明確な不変条件設計の上に構築されています。
結論:知能の主導権を取り戻せ
万年筆は象徴です。彼が守ろうとしたのは、「機械に支配されない人間の抽象思考」でした。
AIの速度に流されるな。
便利さに思考を明け渡すな。
コードを書く前に、まず自分の論理を書け。
それが、AI時代に知能を奪われないための最短経路です。
出典・参考
- EWD Manuscripts (The University of Texas at Austin)
- 『Selected Writings on Computing: A Personal Perspective』Edsger W. Dijkstra
- ゆるコンピュータ学ラジオ #184「なぜプログラミングの神はPCを嫌ったのか?」(2025-07-13)

