この連載では、プログラミングそのものではなく、プログラミングを理解するうえで最低限必要な基礎的な考え方を、哲学や論理学などを通じて学んでいきます。

プラトンのイデア論とプログラミング

どうしてプログラミングをすると、いろいろなことができるようになるのでしょうか。スイッチを押すと照明が点灯したり、車のキーを回すとエンジンが動き出したりするのはなんとなくまだわかりますが、コンピューター上で起こっていることはなかなかわかりにくいものです。

人になにかをお願いする場合であれば、言葉が通じて、相手が自分のことを受け入れてくれているのなら、そのお願いが実行される可能性は高いでしょう。しかし、コンピューターは人間の言葉をそのまま理解しているわけではありません。「プログラミング言語」で書かれたメッセージ(コード)を読み取って、その内容に応じて反応をしています。

プログラミングを学ぶということは、コンピューターのことを理解して仲良くなる、ということです。そう、21世紀は人間とコンピューター(機械)との共生の時代なのです。コンピューターがどうして動作するのか、言ってみればコンピューターの「気持ち」を私たちは理解するように努めなければなりません。

そして結局のところ、コンピューターを理解することは、人間や社会、世界を理解することにつながっていきます。コンピューターを通じて、人間や社会、世界のことを私たちはもっと理解する必要があるのです。

画像: プラトンのイデア論とプログラミング

人はどうして目の前にないものを説明できるのか

ここで、ソクラテスの弟子であったプラトンによる「イデア」論をとりあげてみます。ソクラテスはなによりも、相手と対話することから正しい考えが得られるとみなしました。まずは自分の思い込みを捨てるとともに、相手の主張にしっかりと耳を傾けます。そして、そのうえで納得のいかないこと、おかしなところ、あいまいに感じるところなどを検証していく。その結果、相手の主張の問題点が発見され、もっと正しい考えが導き出されます。

こうしたやり方を「対話術」(弁証法)と呼びます。

そうした対話を通じて、正しい回答が得られるわけですが、ソクラテスの弟子であるプラトンは、この「答え」のほうに、むしろ関心が向いていました。誰もが疑えないもの、それをプラトンは「イデア」と呼びました。「イデア」とは古代ギリシア語で、英語の「アイデア」のおおもとの言葉です。

たしかに日常の暮らしは感覚的なものです。目で見たり音で聞いたり触ってみたりと、五感(コンピューターでは「センサー」と呼びます)を通じて得られた情報をもとにしています(人間はこれを「経験」と呼びます)。感覚(センス)は厳密な定義とかはっきりとした証明を必要とせず、あいまいでも通用します。しかし、感覚で得られた情報が蓄積されてくると、そこから、共通性や普遍性のようなもの、原理のようなものが見出されます。

たとえば、三角形の3つの内角をすべて足すと必ず180度になったり、円の直径に円周率を掛けると必ず円周の長さになったりしていることに気づきます。プラトンはこれを「イデア」という言葉を使って説明します。つまり、目に見える世界、さまざまな経験の積み重ねでできあがっている世界は、その背景に、普遍的で誰もが同じようにとらえることのできるもの、すなわち「イデア」によって支えられているということです。

イデアとは、感覚的なもの、とくに目に見えるもの、この世に存在している個別のものではなく、普遍的で変わらない姿やイメージが前もってあるということを意味します。

適当に手書きで直線を3本、しかもそれらの端と端がつながっているものを書くと三角形ができあがりますが、そういった手書きの個別の図形が、たとえその線が厳密には直線になっていなくても「三角形」と認識するのは、私たちが「三角形」というイデアを前もって理解しているからだ、とプラトンは考えるのです。

つまり、センサーから得られたデーターを集積し分析すると、共通のことがらやある規則などが見出されます。これはプログラミングにも当てはまります。プログラミングもまた、私たちが経験から得られた共通のことがらやある規則をまとめたものと言えるでしょう。

洞窟のおはなし

少し小難しくなってきましたね。それではここで、プラトンが例に出す「洞窟のおはなし」をみてみましょう。

私たちは子どものときから洞窟のなかで暮らしており、縛られていて洞窟の奥から逃げ出すことも、身動きすることもできません。洞窟のなかで縛られているのですから、太陽の光どころか、ふだんは火の光さえも直接見ることができません。

ただし、壁にはときどき影像(影の像)が映し出され、それを見たり、音を聞いたりすることはできます。「影像」つまりなにか元があり、それがなんらかの形で影をつくっているようですが、縛られているので、そうした仕組みのこともよくわかりません。

画像: 洞窟のおはなし

私たちに与えられる情報はそれがすべてなので、影像はとても大事な情報源で、とにかく毎日一所懸命に影像を見て、学んでいます。言ってみれば、影像こそ現実であり、それありきなのです。

しかし、自分が実は暗い洞窟のなかで縛られて暮らしており、いつも見ていたものがすべて単なる影像(虚像)にすぎず、さらには、それを映し出すための装置が存在していることなどに気づいたとしたら、どうなるでしょうか。

これまで本物と思っていた影像はただの影絵であり、影ができるためには光が必要であり、その光が器物にあてられて影ができていたということを理解したら、どうなるでしょうか。

縄(鎖?)をほどかれて、立ち上がり、後ろを見ると、そこには、光源や影絵を作り出す装置やそれを操る人がいます。

さらには、自分がいたところが洞窟であり、その出口の向こうには、日がさしていて、どうやら世界では火の光だけではなく、もっと強く輝く太陽が、私たちの世界を照らしているということに気づいたとしたら、いったいどうなるでしょうか。

プラトンが気づいたのは、このように、ふだん目に見えているものや経験していることが、かりそめのものにすぎないのではないかということ。そしてそのかりそめの背後には、本物すなわちイデア(の世界)があるかもしれない、と考えたのです。

プログラミングを行うということは、言ってみればイデアに立ち返って一つひとつのことがらを分解・整理し、そのうえで、普遍的に共有できるものに仕立てなおす、ということです。もちろん、すべてをプログラミング化する必要はありませんが、プログラミングによって私たちの暮らしは劇的に豊かになっていると言えるでしょう。

しかし、気を付けなければならないのは、イデアはあくまでも現実を支える装置にすぎないということです。プラトンはイデアを現実世界には存在しえない究極のもの、つまり、本質的で理想的で普遍的なものと考えましたが、とくに「理想的」「普遍的」なのかどうかには保留をつける必要があるでしょう。

そうなのです。いくらあがいてもイデアはイデアでしかないのです。プログラミングは、現実世界から抽出した、機械と対話を可能とする大切なものですが、かといってそれが現実そのものではありません。

結局、プログラミングだけを見ていると、ふたたび洞窟のおはなしの世界において、洞窟のなかで縛られて、プログラミングによって作り出されたものを本物と勘違いしはじめることになるでしょう。

そうでなくても21世紀に生きる私たちは、このプラトンによる洞窟のおはなしの世界がそのまま現実となっていることに気づかされます。

なぜならば私たちは、活字を読んでは空想し、スピーカーから出る音で楽曲を味わい、液晶に映る笑いの絶えない芸人たちのトークを眺めて一日の疲れを癒し、常にスマホを持ち歩いて友人や家族と会話をしているのですから。

画像: プラトンのイデア論とプログラミング【哲学とプログラミング】

プラトン Plato (Πλάτων、427B.C.~347B.C.) 

  • 2,400年程前(日本は弥生時代初期)の、古代ギリシアの哲学者。
  • ソクラテスの弟子(歳の差は40歳くらい)。
  • 30編前後の対話編と書簡を遺す。大部分はソクラテスが主人公。
  • 若者を教育する機関アカデメイアを創設。
  • 哲人政治を目指すが、失敗に終わる。
  • 現代では「プラトニック・ラブ」という言葉に名を残す。
  • この世にはない理想形「イデア」がある、と主張。
  • 中世キリスト教の考えにも継承される。
記事全文ページのみ

This article is a sponsored article by
''.