中学校で、コンピュータープログラミングが授業に取り入れられたらしい。
それでどういうことになるだろうか?
美術や音楽を学校で教えることにより、生涯、絵が描けず、歌を歌えず、楽器を演奏できず、これらのことを自分で行うことに、救いようの無い抵抗や拒否感を持つ人だらけになった。
他のことで極めて優秀な人が、「僕は絵を描くのは全然駄目なんですよ」とか、「私は全く音痴で、歌うことなんてとてもできません」という、異常なことを平気で言うのである。
絵を描く楽しさ、楽器を演奏する楽しさという貴重で大切なことを、学校で根こそぎ奪われてしまったのだ。
音楽や美術の授業のやり方は、ほとんど全て教師に任せられている。それで、独善、偏見、脅迫がまかり通り、子供達が音楽や美術を楽しみ、生命の糧とする能力を、戦争中のアメリカの空襲さながらに、完膚なきまでに叩き壊されたのだ。自我があまりに強い教師によってだ。
哀れ子供達。
そして、コンピュータープログラミングだって、中学校で教えることになって、全く同じことになることは間違いないだろう。

こんな話を目にしたことがある。
「子供達にオブジェクト指向の考え方を教えるべき」
こんなことをぬかすヤツに言ってやろう。
「貴様、オブジェクト指向を5分で誰にでも分かるように説明してみろ」
私が目の前で説明が終るまで、30分でも1時間でも聞いてやる。そして、大きな声で言ってやろう。
「さっぱり分からん」
とね。
そんなものを子供達に教えたら、子供達の頭を混乱させ、子供達に、プログラミングに対する救いようのない拒絶を与えるのである。
私は、純粋なオブジェクト指向言語であるSmalltalkを何年も使ってみたが、オブジェクト指向が全く分からなかった。
私の頭が悪いことは確かだが、それでも微積分なら誰にも教わらなくても分かったのだ。
ところで、私がこれまで聞いた中で、最も好きなオブジェクト指向の概念は、「単なるメモリ保護技術」である。
しかし、それは、何年にも渡って、生活を賭けてソフト開発をやったから納得いったことなのである。
私は、それから、天才的な技術者であるだけでなく、コンピューター技術を誰よりも分かり易く説明する才能を持ったピーター・ノートンが書いた、一般にはオブジェクト指向とは遠いプログラミング言語と考えられているVisualBasic(VisualBasic6.0)によるオブジェクト指向プログラミングのテキストを読んで、やっと、オブジェクト指向を4割ほど理解できたのである。
ただの教師にオブジェクト指向を説明させたら、全くチグハグで、的外れで、曖昧模糊とした説明になるしかないだろう。言ってる本人がさっぱり分かっていないのだ。
そんなことを子供達に教えたら、子供達はオブジェクト指向を、地底人のグルメ料理よりも変なものだと思うようになるだろう。

とはいえ、子供達にコンピュータプログラミングを教えることは悪いことではない。
アラン・ケイは、ずっと以前から、Squeak(スクイーク)という、Smalltalk言語の1つを使って、子供達にプログラミング教育を行っている。
しかし、特殊な形態を持ち、特殊な操作を必要とするSqueakは、面倒過ぎて、子供どころか、コンピュータープログラミングに興味のある若者や大人にも不向きだ。
Smalltalk言語も使ってみた上で言うのだが、決して、普及を目指す人達が言うほど簡単ではなく、むしろ難しい。
今日、産業界では一般的なC系の言語・・・C、C++、Objective-C、Java、Perl、PHP、Ruby、Python 等も、書き方1つとっても癖があって、慣れたとしても抵抗があるものだ。これらも、教育用には適さないと思う。
かつては教育用言語と言われたPascalについて言えば、美しくはあると思うが、これが教育用と言うのは、ピアノを本格的に習う者にとってバイエルが教育用であると言うのと同じで、一般的な音楽教育にバイエルが適さないように、一般的なプログラミング教育にはPascalはやはり難し過ぎる。

LOGO言語は教育用に適したものの1つだが、良いLOGO言語のソフトがない。有償のものなら良いものがあるのかもしれないが、高過ぎる。
そもそも、教育用の良いプログラミング言語のソフトが無料で存在するよう、政府が形を整えてもいないところも、これが学校教育に適さない証拠の1つと言えると思う。政府のこの件の関係者は、自分では何も分からずに、「子供にプログラミング教育を」と言っているのだろう。
では、教育用として最近流行のScratchはどうだろう?
駄目だと思う。あれは、コンピュータプログラミングを教えることには全く適さない。そもそも、コンピュータープログラミングでいきなりグラフィックや画像を扱う必要はない。
グラフィイックが動く楽しさと、コンピュータープログラミングの楽しさは全く違うのだ。
自転車に乗る楽しさを味わう前に、自転車の形やブランド、個々のパーツに凝る様なものである。

教育用には、純粋にコンピュータープログラミングに取り組めるものが良い。
ジョン・ケメニーとトーマス・カーツが創ったBASIC言語は、文系大学生のプログラミング教育のためのものだったが、子供のプログラミング教育に最も向いていると思う。
余計な制約や押し付けが最も少なく、プログラミングの本質を単純に理解できるからだ。
ただ、やはり良いBASICの処理系(ソフト)がない。
現在のVisualBasicはあくまで産業用のもので、教育用には複雑過ぎる。
Excelなどに付いているVBA(Visual Basic for Application)くらいならまだ良いが、これの提供者であるマイクロソフトは、これをもう古いものとしたいのだろうと思う。
マイクロソフトが数年前に発表した無料のSmallBasicは、その後さっぱり流行らず、日本での普及は行われず(日本語サイトもいまだ無い)、マイクロソフトも、この言語の更新を長い間行っておらず、Windows8にも対応させていない。教育用に良いと思うのだが、どうもそんなものは流行らないらしい。
現在は、無料の十進BASICが一番と思うが、これがオープンソースになればなあと思う。
十進BASICのホームページ
だが、本当に本質的な意味では、Lisp言語(の中のScheme )が、教育用に最も好ましいプログラミング言語であると思う。ただし、現在は、総合的な意味で、人類の持つコンピューターの構造自体がLisp言語に向いていないのである。だから、Lisp言語は、いまのところ、コンピューターにおける最も高貴な趣味と言えるかもしれない。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ
  
このエントリーをはてなブックマークに追加   
人気ランキング参加中です 人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ