この連載では、プログラミングそのものではなく、プログラミングを理解するうえで最低限必要な基礎的な考え方を、哲学や論理学などを通じて学んでいきます。
画像1: ソクラテスの対話術とプログラミング【哲学とプログラミング】

プログラミングを覚えるというよりは、プログラミングについて考えることによって、お子さんとの対話のための素材を提供します。お子さんと一緒に話し合い、考えることによって、家族全体のプログラミング理解が高まることでしょう。
*プログラミングに今までほとんど縁のなかった方でも、そもそもプログラミングとは何をしているのか、根本まで掘り下げつつ、しかも、わかりやすく説明していきますので、気楽に読み進めていってください。

自分の思いを相手にしっかりと伝えたい

コンピュータプログラミング(以下では「プログラミング」と略して表記します)とは、いったいなんでしょうか。

それは自分の思いを相手にしっかりと伝えることです。以上。オシマイ。

……というわけにはかないでしょうが、実にシンプルに言えば、この一言に尽きます。

これから毎回、いろいろな角度からみなさんにプログラミングの理解を深めてもらおうと思っていますが、ひとつだけ、お断りしておかねばならないことがあります。

毎回このコラムでは、過去の偉大な哲学者とその考え方が登場します。

プログラミングだけでも難しそうなのに、どうしてここにきて、哲学という意味不明なものまでかかわらなきゃならないの? そんなの嫌だぁぁ、とおっしゃる方もいるかもしれませんが、実は逆です。

プログラミングの根本には、長年にわたって培われてきた哲学の考えがあり、それを学ぶことによって、よりハッキリとプログラミングのことが理解できるようになるのです。

つまり、哲学を学びながら、プログラミングの基礎も学ぶことができるのです。なんとお得なことでしょう。

画像: 自分の思いを相手にしっかりと伝えたい

ソクラテスの「対話術」

今からはるか昔、2,500年ほど前の古代ギリシアでは、ソクラテスという人が町の人たちに素朴な疑問をぶつけていました。

「あなたは何でも知っており自分は賢いとおっしゃるが、私は自分にはわからないことがあるということを知っている。そっちのほうがより賢いのではないだろうか?」

それまでこの界隈では、自分の考えを全面に押し出し、相手をやりこめる「ソフィスト」(知恵者)と呼ばれる人たちが幅を利かせていました。相手の考えから学ぶのではなく、自分が主張していることを相手に認めさせる技術を彼らは磨き、人に伝授することで生計をたてていました。

今でいう「弁論術」というやつですね。

相手を感動させたり、納得させたりすることに長けたこの技術は、場合によっては「詭弁」にもなってしまいます。言いくるめることができた人にとっては、ありがたいテクニックですが、逆の立場だったら、嫌ですよね。

よくソクラテスは「哲学」をはじめた人、と言われますが、難しい話は置いておいて、ソクラテスがやったことは、こうしたソフィストたちによる表面的な説得力にだまされないで、その背景にある前提や暗黙の了解事項などを明らかにしようとしたことです。

これを彼は「フィロソフィア」(知恵への愛=哲学)と呼びました。つまり、ソフィストが知恵ばかりを追求していたのに対して、ソクラテスはその知恵(ソフィア)を通じて相手との対話を行ったのです。

画像1: ソクラテスの「対話術」

なによりもソクラテスは、他人の言うことをよく丁寧に聞きました。自分の考えを全面に押し出すのではなく、みんなの意見を集約し、そのうえで揺るがない「答え」を見つけ出そうと努めました。

こうした誰もが納得できる話の道筋をつくりあげて、ある課題を解決しようとすること、これこそソクラテスの「対話術」の基本であり、言うなればプログラミングが生まれるための第一歩でもありました。

画像2: ソクラテスの「対話術」

プログラミングとは、機械との対話術

現代から見てソクラテスが行ったことをプログラミングだとすると、かなり荒っぽいもので、とても実用には耐えられません。しかし私たちの社会において、お互いが相互了解しあっていくうえでもっとも必要なのはプログラミングのような考え方なのだ
、ということをはっきりとさせたのはまぎれもなくソクラテスの功績と言えるでしょう。

ちなみにソクラテスが得意だったのは、今で言うところの「バグ」つぶしです。

一見、もっともらしい2つの主張内容があったとします。それぞれ、1つの文章(考え)としては間違っているわけではありません。ところが2つをつなぎ合わせると、どうにも不都合が生じる場合があります。その理由をつきつめると、2つをつなげるためには、別の新たな「条件」や「前提」などが必要であることに気づきます。

画像1: プログラミングとは、機械との対話術

ソクラテスの相手は人間、しかも同じ言葉を話す者どうしでしたが、プログラミングの場合、相手は機械です。機械にいろいろとしてほしいことをお願いするためにプログラミングがあります。言ってみればプログラミングとは、機械との対話術なのです。

機械に計算させると、それは電卓になります。機械にドットを使って文字を表示させるように命令を与えると、ワープロになります。いずれもプログラミングを行っているわけです。ふだん私たちはその結果だけを見たり使ったりしていますが、そうした背景を学ぶこと、それが小学校におけるプログラミング教育です。

言ってみれば、プログラミングを学ぶということは、親子の対話をはじめ社会人としてのコミュニケーションの基礎を学ぶことになります。

それはつまり、自分だけに通用するような「屁理屈」や勝手な「思い込み」ではなく、誰にでも通用する話し方、考え方ができるようになるということでしょう。また、世の中には約束事があり、それに従うことではじめて他人とのやり取りが可能になることを知ることにもなるのです。

画像2: プログラミングとは、機械との対話術

ソクラテス Socrates (Σωκράτης, アテネ、469B.C.-399B.C.)

  • 約2,500年前の、古代ギリシアの哲学者 (日本は縄文時代から弥生時代への転換期)
  • 「知を愛(=吟味)する」=「哲学」を生み出した
  • 自分では文章を書かずに、ひたすら対話した
  • 弟子プラトンが書いた「対話編」によって、後世にその考えが知られた
  • 最大の関心事は、「善く生きること」、つまり、自分の魂を磨くことだった
  • 裁判で死刑の判決を受けても自説を曲げなかった
画像2: ソクラテスの対話術とプログラミング【哲学とプログラミング】
コメントを読む・書く

This article is a sponsored article by
''.