似た例として、「パンは危険な食べ物」という有名なジョークがあります。
・ 犯罪者の98%はパンを食べている。
・ パンを日常的に食べて育った子どもの約半数は、テストが平均点以下である。
・ 暴力的犯罪の90%は、パンを食べてから24時間以内に起きている。
・ パンを食べた人は100%の確率で200年以内に死ぬ。
などなど。「水を飲んだ」でも成り立ちますし、日本だったら「パン」を「白米」に置き換えても当てはまりますね。
これは、因果関係(たがいが原因と結果の関係にあること)と、相関関係(原因と結果とは限らないが、一方が増えると他方がそれに合わせて増えたり減ったり、変化がたがいに関係していること)との違いの一例です。
この両者の違いがしっかり理解できていないと、フェイクニュースや奇想天外な理論、似非科学、謎の通販商品の販売文句にあやうくだまされそうになるわけです。
プログラミング的思考を養えば、こういった文章や情報に触れたとき、上記のようなプロセスで物事を考えることができ、わかりにくい込み入った文言にもだまされなくなります。
「プログラミング教室」に通わせればOKか?
また、「物事を科学的に考える」ことも、プログラミング的思考の本質的な側面の1つと言えます。
たとえば、「なぜだろう?」という内発的な疑問に直面したり、「どうやったら〇〇ができるだろう?」という課題に向き合った際に、「教科書」「解答集」「先生」など、すぐに「答え」を探しにいかず、まずは自分の知っている知識の範囲で考えを組み立て、それでもわからない場合は「わかるために必要な周辺知識」を探してから再度考え、その時点での自分なりの「仮説」を立てます。
そのうえで、自分が立てた「仮説」が正しいかを実際に確認してみるという姿勢です。
疑問に対する仮説の場合は、「仮説を証明する実例がないか探す」「仮説が間違っていることを証明する反例がないか探す」「その理屈をさらに推し進めていって、どこかに矛盾がないか考える」となるでしょうし、課題克服の仮説の場合は、「実際にこれで解決できるか試しに作ってみる・やってみる」がそれにあたります。
さらに、確認したり試したりした結果をもとに、それで本当に合っていると考えられるか、もし何かおかしい場合は、どこが間違っていたのか、再度仮説を修正するところに戻り、繰り返します。うまくいった場合も、よりよくする方法はないか、引き続き考えます。これは、ビジネスの世界で言う「PDCA」に近い概念です。
同時に、科学的に考えるためには、疑うことも重要です。「疑心暗鬼になる」とか、「人を信じない」とか、そういう否定的な意味ではありません。
ビジネスの世界では、よく「クリティカル・シンキングが重要」などと言われますが、これと同じ概念です。
日ごろ当たり前だと思っていることや、先生や親、あるいは上司から「こうしなさい」「こうすべき」と言われること、これらが「なぜこうしないといけないのか?」「なぜこうすべきと思われているのか?」と、物事を根本から見つめ直すことと言ってもいいでしょう。