プログラミングを学ぶ3つの理由
筑波大学の久野先生と、「プログラミングを学ぶ理由を、いくつか取り上げて整理してみよう」ということを行ないました。
久野先生も僕も、1998年ころから共通して主張し続けていたのが、「(1) コンピュータや情報システムを理解するには、プログラミングを学ばなくてもいい。しかし、プログラミングを学んだ方が、遥かに効率的に、正確に、コンピュータのことを理解できるようになる」というものです。
この意見をさらに増強すべく、2004年ころからいい始めてきたのが「(2) 近隣諸外国では、小学校5年生程度でプログラミングを含む情報教育を始めてきているのに、日本がこのままだと、将来がまずい」というものです。これは、「プログラミングを学ぶとどうなるのか」という積極的な理由ではなく、「プログラミングを学ばないとどうなるか」という理由なので、イマイチ説得力がない。
そこで、もう少し説得力がありそうな、それでいて、久野先生と僕で「そりゃそうだ!」と言える理由づけをしようと議論しました。結論は「(3) プログラミングは、未来を正確に予想するために必要」というものです。解説が必要なので、ここに書いてみます。
物理の場合、物がどのように動くかを記述する基本は運動方程式です。運動方程式を記述するために必要なのが、速度や加速度、変位などの量です。運動方程式を記述するとn秒後の球の位置などがわかるようになります。化学の場合、二つの物質の反応を表すのが化学式と化学反応式です。化学式の前提となるのが元素記号であり、化学物質の性質を表す沸点、融点、原子量などの数値です。
ちょっとまとめ直すと、運動方程式は物の動きという未来を、化学反応式は物質の反応という未来を語る非常に重要な概念です。このように見てみると、プログラムも同じ役目を持っていることがわかります。それは、プログラムと入力のペアがコンピュータの動作と言う未来を語ることができるという意味です。そして、物理の「速度、加速度」に相当し、化学の「融点、沸点、原子量」に相当する「情報」の概念は、おそらく「コンピュータの動作、情報量、入力の形式、出力の形式」になるのでしょう。
物理 | 化学 | 情報 |
---|---|---|
速度、加速度 | 融点、沸点、原子量 | コンピュータの動作、情報量、入力の形式、出力の形式 |
運動方程式 | 化学式、化学反応式 | プログラム |
ところで産業革命を支えたのは、物理であり化学でした。そこから機械工業、化学工業が起こってきたともいえます。今後の情報社会を支えていく私たちが、プログラミングを知らないというのは、運動方程式を立てたこともなく、化学式を見たこともない人が、機械を利用したり、化学物質を利用したりするということになるわけで、これは相当恐いことだといえそうです。
言い替えるなら、「情報を学ぶにあたり、プログラミングを学ばなくてもよい」というのは「物理を学ぶのに運動方程式は不要である。速度、加速度だけやればいい。」「化学を学ぶのに化学式は不要である。融点、沸点、原子量だけやればいい。」というのに近いように見えます。
反論もあるでしょう。大歓迎です。お待ちしています。
| 固定リンク
| コメント (8)
| トラックバック (1)
最近のコメント