「プログラミング教育」は「言語教育」そのもの
プログラミング教育は言語教育そのものであり、数学や国語、英語の教育と何ら変わりません。
人がなぜ数学を学ぶのかといえば、数学は人の思考を究極的に抽象化した「言語」であり、その言語(数字)を用いることで頭の中を論理的に記述できるからです。人が国語や英語を学ぶのは、人の思考の幅を広げ、多様な表現力を持つためです。
その点、プログラミング言語は自然言語が持つ多様さや表現力と、数字が持つシンプルさや論理性のちょうど中間にある言語です。
そしていま世の中の動きを見ると、いままで自然言語で扱われていたことがどんどん抽象化されていく現象が起きています。
たとえば、レストランでシェフが経験則でやっていた作業を自動化するにあたり、調味料の量や炒める秒数や温度管理などをすべて数値化し、フローチャートに書き換える作業は、まさしく抽象化です。
もしくは、コールセンター業務をチャットボットに置き換えるにあたり、優秀なスタッフの受け答えをモデル化する作業も抽象化です。その抽象化作業のことを「プログラミング」と呼びます。
面倒でも一度抽象化してコンピュータやロボットでも再現できるようにすれば、それまで人一人でしか与えられなかった影響力が何千倍、何万倍も大きくなる。だからこそ、いまの時代は言語教育としてのプログラミングの重要性が増しているのです。
そして言語教育であるからこそ、言語習得自体が目的化しては意味がありません。
私たちが英語を学ぶのは、TOEICで満点を取るためでも、共通テストで良い点数を取るためでもなく、「外国人と円滑にコミュニケーションするため」です。
プログラミング教育も、その言語を使うことでどんなことができるのかを教えたり、「こんなものを作ってみたい」とモチベーションを高めてあげることこそが、言語習得以上に重要なことなのです。
なぜかというと、プログラミング言語は自然言語と比べ習得が桁違いに簡単だからです。いざ必要となったら学ぶことができますし、うろ覚えでもGoogle検索しながら書けばいいだけです。
また、プログラミング言語は時代とともに変化していくものなので、一つの言語を完璧にマスターしておく価値はそれほど高くありません。