VBA vs VS vs 手順的な自動処理
こんなニュースが届いた。
Visual Studio 2008など10製品
MS、高校生の自宅学習用にソフトウェア無償提供開始
http://www.atmarkit.co.jp/news/200903/17/dreamspark.html
記事の内容について細かいところは記事自体を見て頂くとして、僕なりに要約すると「以前からマイクロソフトは大学生や高専の生徒達にプログラミング環境を無料で提供していた。この支援対象を、新たに高等学校の生徒を加えた。」ということである。
ここでマイクロソフトが無料としているソフトウェアがすごい。全部で10製品あるが、そのなかでも次の3つが入っていることには、驚かずにはいられない。
- Microsoft Visual Studio 2008 Professional Edition 日本語版
- Microsoft Windows Server 2008 Standard Edition 日本語版
- Microsoft SQL Server 2008 Developer Edition
他にもゲームやロボット関係の統合環境も入っている。記事によれば、マイクロソフトが VS(Visual Studioのこと)などのソフトを高校生向けに無料とした理由は、高校生が自宅でプログラミングの学習をするときの支援ということである。なお、学校でこれらのソフトを入れるときは「MSDN アカデミック アライアンス 高等学校版」を使うことになり、それは無料ではないが、いずれにしても高校生が自宅で学習をするための環境整備を支援しようという取り組みについては、いいところに目をつけたと感心してしまう。また、記事を見ると、マイクロソフトがプログラミングの学習環境として捉えているのは、VSなどの言語環境であり、その延長にシステム管理やゲームプログラミング、ロボットプログラミングがある。実際、この記事でも「実践力はMSDN アカデミック アライアンスや DreamSpark 」と書いてあり、この支援が生徒の実践力向上をめざしていると明記されている。ということは、これらの言語を利用したプログラミング学習が実践力の向上に役立つとマイクロソフトは考えていて、その元に支援が行なわれる。
ところで、この10製品の中に Microsoft Office 2007 が入っていないということも注意してみておく必要がある。「Office はプログラミングの商品ではない」と思っている方もおられると思うが、現在の高等学校の「情報B」で比較的大きなシェアで採用されている教科書は「エクセル上で動かす VBA」をプログラミング言語として取り上げている(僕が書いた教科書は、JavaScript を採用していて、シェア2位だ。)。そのため、「エクセルVBA」を利用したプログラミングを学習対象としている高校があり、そこでは「実践的な表計算マクロ」を作って会計処理を効率化するとか、モデル化とシミュレーションのときの道具としてのプログラミングに利用して、そこでプログラミングを学習させようということをしている、ということである。
一方、情報処理学会・初等中等情報教育委員会が中心となって提言しているのは「手順的な自動処理」の体験であって、「職業訓練」「将来の職業適性を見るためのお試し題材」としてのプログラミングではない。
ということで、ここに大きなズレが見えてきた。
マイクロソフト社は、自社製品を利用したプログラミング学習が現場でどのように行なわれているかについて、そして、その目的は何であるかについて、実態把握ができていたのであろうか。あるいは、実態は把握していて、それを前提に「エクセルVBA」からVSに移行させることが裏の目的なのだろうか。それとも、それ以外なのだろうか。僕には真意はわからない。いずれにしても、マイクロソフト社の処置も、VBAを重視したがる現場も、情報処理学会の提言も、みんな異なる方向に行こうとしていることは確かな気がする。
そういえば、僕のblogに「VBA なくなる」という検索語で、2008年1月20日の記事にたどり着いた記録が多く、最近、その回数が急に増えてきた。(みんな僕のページをみるもんだから、検索ランキングが上がってしまってびっくり。SEOなんてやってないのに、いまや「VBA なくなる」と言えば僕のページがトップ(笑)だ!)
高等学校の先生だけでなく、多くの人がVBAがなくなると困る状況におられるからだろうと推測している。ほんとうに VBA はなくなっちゃうのか?そうなったら、「高校の情報B(将来的には「情報の科学」)では、どの言語を教えればいいのか?」と迷う人が続出するだろう。ここで大事なことを指摘しておきたい。僕は、「どの言語で教えるか」ではなく「どの言語で『何を』教えるか」を重要視して、その中で言語を選んで授業に取り入れることが必要だと思っている。VBAでもVSでもJavaScriptでも、手順的な自動処理の体験はできる。だから、特定の言語に固執する必要はないのです。「どの言語を教えればいい?」という問い自体が、教える目的を誤っていませんか?
【追記】でも、生徒が自宅で宿題をできるようにということを考えると、VBAだと自宅にもエクセル入りのパソコンが必要で、VSだと学校がMSDNアカデミック高校版に入ることが必要で、どっちも有償ですよね。JavaScriptなら、そのどちらもなくても、OSと、無料で手に入るWebブラウザーがあればOK!ですよね。だから、もちろんJavaScriptでないといけないということではありません。ドリトルでもビスケットランドでもOKですよ。
【2009/05/12 追記】その後、 「VBAはなくならないらしい」という記事を書きましたので、御覧下さい。
| 固定リンク
この記事へのコメントは終了しました。
コメント
関東の一部の高校で1月ごろに試行していたようですね。
『関東地区限定』というメールが自分の所に届いてましたので。
投稿: あびり亭 | 2009年3月21日 (土) 02:29
まぁ,Fortanにアセンブラで書いたビット演算サブルーチンをライブラリに加えて,逆アセンブラを作ったり,TinyLISPを作ったり(その元はN先生たちが作ったわけですが),かな漢字変換システムを作ったりして,DBのお勉強でCobolをかじったけど,DBアクセス用ライブラリをFotranに作って,Fortranで何でもやりました。その後Pascalに転向したけど,結局Cではプログラムを作らず,その後のオブジェクト指向言語にとか,PerlもRubyもPHPも使わず。なのにCGIのデバッグとかせざるを得ないのはなぜ^_^;
たいてい,Apacheとか,PHPとかの設定ファイルを製作者の意図通りにするだけで動くからかなぁ^_^;
投稿: 落伍弟子 | 2009年3月21日 (土) 04:31
マイクロソフトとベネッセコーポレーションによる理系人材育成プログラムというものがあり、
「ロボットを作ろう、動かそう」
というタイトルで、関東の私立9校・416名が参加したそうです。
こちらにその様子が載っていました。
http://journal.mycom.co.jp/articles/2009/02/17/ms_benesse/index.html
投稿: y.tanikawa | 2009年3月22日 (日) 20:28