日本人とプログラミングの相性が悪い理由

2020年から、いよいよ日本でも「プログラミング」が義務教育化されることが検討されています(参考: 朝日新聞)。

プログラミング学習は、将来不足するプログラマーを養成するだけではなく、論理的思考を養うための教育としても注目されているのです。

ところがご存知の方も多いように、現状の日本のソフトウェア産業はとても弱く、アメリカに圧倒的な差をつけられています。

ではなぜ日本人とプログラミングはここまで相性が悪いのか、今回はその理由を見ていきましょう。

プログラミングはどういうもの?


まず始めにプログラミングとはどういうものかというと、究極的には作業を「効率化」するためのものです。

プログラミングで動くあらゆるアプリケーションは、面倒な作業を簡単にするために使います。エクセルなどはその典型ですね。作業を効率化するということは、すなわち「楽をする」ということです。

そう、そもそもプログラミングとは人間が楽をするために行うものであるとも言えます。

日本人は無駄に苦労するのが美徳?


こと日本人には「無駄に苦労するほど賞賛される」という文化があります。

就職活動のエントリーシートがいまだに「手書き」であったり、会社で残業をすると「がんばっている」と評価されるところを見るとやはりそうだと思えます。

ところが、プログラミングの世界ではこれは全くの反対で、無駄に苦労をするほど悪い結果を招きます。

例えば、日本人的にはいかにも苦労している(ように見える)「1+1+1+1+1+1+1+1+1+1=10」という表現が美徳とされるのですが、プログラミング的には「1*10=10」と表現すべきなのです。その理由は、コードが長くなるとプログラムの実行速度が遅くなったり、不具合が出やすくなるためです。

だからコードはなるべく簡潔にシンプルにまとめるのがいいのです。

しかし日本人思考において「1*10=10」という表現の仕方は、「楽をしている」、「けしからん」とネガティブな評価をされます。そのため、私たち日本人は普段から「1+1+1+1+1+1+1+1+1+1=10」の思考を強制されているのです。

だからとっさに「1*10=10」という効率の良いやり方が思いつかず、いつまでたっても日本のソフトウェア産業が育たないのかもしれません。

考え方を変えていこう


もちろん努力することが悪いわけではありません。努力はいつの時代も素晴らしいことです。

大切なのは、「限られている私たちの時間をうまく使うためにはどうすべきか」を常に考えるということです。例えば自分の手で部屋を掃除することは素晴らしいことかもしれませんが、ルンバを買って全て任せてしまえば掃除にかかる時間をセーブすることができます。

そうすれば、セーブした時間を別のことに充てることができるのです。毎度河を泳いで渡るのではなく、一度橋をかけてしまいましょう。

その橋をかける作業こそがプログラミングの真骨頂です。もしも「楽をするなんてとんでもない」と叫んでくる人がいても、21世紀においては無視をして構いません。

▼目に優しい「Kindle Paperwhite」もオススメです

最後に

このように、現在の日本は不具合をかかえている状態です。

ところが、この不具合はこれから修正し、いくらでもアップデートすることが可能です。

これまでのバージョンでは「日本人とプログラミングの相性が悪かった」と言えるかもしれませんが、次のバージョンでは、「日本人はプログラミングが得意だ」という風に変えることが可能なのです。

このまま不具合を放置し続けて他国に追い抜かれ、置いていかれるのを待つのか、それとも新しいバージョンにアップグレードするのかは、皆さんが選ぶことなのです。