日経ビジネスオンラインの『プログラミングは義務教育化すべきなのか?』で、プログラミングは教養の一つと捉えるべきという意見が展開されていました。
突っ込みどころ満載の記事なのですが、一番の問題はITに関する一般的な知識やITリテラシーとプログラミングを同等に扱っているところです。
プログラミング=ITではない
プログラミングとは、コンピュータを動かすためにプログラミング言語を使ってプログラムを作成することです。
アルゴリズムを考えることとプログラミングとは、分けて考えた方がいいと思います。アルゴリズムを考えるとは、例えばハノイの塔の解法を考えることです。
ハノイの塔とは、パズルの一種です。3本の杭と中央に穴の開いた大きさの異なる複数の円盤から構成されます。1本の杭にすべての円盤が、小さい円盤が上になるように積まれています。円盤は1回に1枚ずつ別の杭に移せます。ただし、小さい円盤の上に大きな円盤を乗せることはできません。すべての円盤を別の杭に移すと完成です。
ITリテラシーとは、パソコンやスマホを使うために必要な知識です。アルゴリズムを考えることもプログラミングもできなくても、パソコンやスマホは使えます。
ITに関する一般的な知識は、例えばインターネットやコンピュータの仕組みなどです。
ITに関する一般的な知識やITリテラシーは、現代においてはリベラルアーツ(教養)です。アルゴリズムを考えることも入れてもいいかもしれません。しかし、プログラミングは違います。
多くの人にとって、自動車の運転や自動車が動く仕組みは知っておいた方が便利です。しかし、自動車を自分で作れる必要はありません。自分で修理できる必要もありません。ほとんどの人は専門家にまかせています。
ITとプログラミングの関係も同じです。パソコンやスマホは使えた方が便利です。インターネットやコンピュータの仕組みも知っておいた方が役に立ちます。しかし、自分でプログラミングできる必要はありません。
日本の社会風土
日本のソフトウェア産業は米国に比べて大きな後れを取っています。日本には、GoogleやApple、Facebook、Amazonのような会社は生まれません。
それは、日本にインターネットの重要性を理解していた人がいなかったためではありません。プログラミングの可能性に気づかなかったわけでも、技術を理解していないために、新しい発想が生まれなかったためでもありません。
日本では出る杭が打たれます。日本では新しい産業は、既得権益を持った勢力に潰されます。そういう日本の社会風土の問題があります。
日本の大企業におけるプログラミングの軽視
日本の義務教育でプログラミング教育を充実させたとしても、現状では効果は期待できません。
日本の大企業では、プログラミングを工場における製造作業のように扱っています。設計までは優秀なエンジニアが行い、プログラミングはスキルの低いエンジニアにやらせたり、外注に出したりします。外注の安い人件費でプログラミングを安く仕上げようとしています。
ところが、設計とプログラミングは分離できるものではありません。料理のレシピに例えられますが、レシピだけを書いて料理をしないシェフはいません。それにもかかわらず日本の大企業では、優秀なエンジニアはレシピだけを書き、料理は新人のエンジニアにまかせたり、外注に出したりしてきたわけです。
そのため、日本の大企業のエンジニアには、プログラミングのスキルがほとんど育まれていません。
これは、一般的に使われているソフトウェアはすべて米国企業から生まれ、日本企業からは画期的なソフトウェアがほとんど出てきていない原因となっています。
おわりに
教養としてのIT知識にプログラミングは不要です。日本に新しい産業が育たないのはプログラミングとは関係なく、社会風土の問題です。日本の大企業ではプログラミングを軽視しているため、プログラミングスキルは育まれていません。それが日本のソフトウェア産業が米国に遅れている原因です。
義務教育では、ITの一般知識やITリテラシーおよびアルゴリズムの基本を教えるだけで十分です。プログラミングを教える必要はありません。
プログラミングのスキルは個人差が非常に大きくなります。義務教育では、アルゴリズムの基本を教え、そこで才能のある子供を見つけ、伸ばしてやることが必要です。全員にプログラミングを教えても無意味です。
【関連記事】