TITLE:x * BASICでプログラミングを覚えたときのように [#ycecec6c] -(by [[K]], 2010.07.08) *** (1) [#h893b9a6] -[[K]]は、短大の授業やセキュリティ&プログラミングキャンプでの体験を通じて、最近の若者がどうやってプログラミングの勉強をしているかを知っています。それは、僕たちの時代とは大きく異なります。 -僕たちは、BASICというプログラミング言語でゲームを作って遊びながらプログラミングのセンスを磨きました。そこには構造化やオブジェクト指向などのややこしい話はありませんでした。gotoも自由に使えましたし、それをバカにされることもありませんでした。・・・どんなにプログラムがひどくても、作ったゲームが面白ければそれでいいのです。 -そういう環境下でたくさんのゲームやツールを作り、徐々にプログラムの規模が大きくなり、苦労を味わった上で、構造化やオブジェクト指向の必要性を理解して取り入れていきました。 -今の若者は、授業でプログラミングを教えてもらえるそうです。うらやましいです。でもその学生のうちの多くは、自分からゲームやツールを作れません。教科書的なプログラムが少し書けるだけです。もしくは資格が取れるだけです。そしてまだそんなレベルなのに「もうこの言語はマスターした、次の言語を覚えたい」といったりします。そしてプログラミング言語の一般的なことはいろいろ言えるのですが、それは教科書に書いてあったことだったり、誰かの言葉を借りてきた程度だったりします。 -僕は古い人間なので、この状況に不安を覚えます。プログラミング言語はプログラムを書くためにあるのです。プログラムを作らないのなら覚えても意味ないです。ゲームを作りたくないのですか?何かツールを作って自分の日々の生活を改善したりはしないのですか? -まあ確かにどんなゲームを作っても、それは大して面白くはないでしょう。フリーソフトでもっと面白いものがたくさんあるでしょうね。ツールだって、結局はエクセルでささっとやったほうが便利だったりするものです。・・・むう。でもそれなら、いっそのことプログラミングなんてやめたらどうですか?どうせ言葉を覚えるのなら、英語でも覚えたほうがずっと役に立ちますよ。自分で使うつもりのない言語を覚えることに、いったいどれほどのメリットがあるでしょう? -さて、ここでは「いや私はとにかくゲームやツールを作りたいのだ、作ってみたいのだ」という人だけを相手にします。その人たちに、できるだけ少ない知識でプログラミングを楽しんでもらおうと思います。小難しいことを勉強するのは、その先でいいと思うんです。 -僕は近年のプログラミング教育を批判したいのではありません。それらがいけないとも思いません。それはそれでいいのです。でも他の方法だってあるのだといいたいだけです。そしてその方法をサポートするページが見当たらないので作ってみたというだけです。ここのやり方が気に入らなければ、見なければいいだけです。批判には値しません。議論にも応じるつもりはありません。 *** (2) [#z3046e48] -実は僕が望むプログラミング学習法が盛んなコミュニティがあります。それはHSPのユーザコミュニティです。BASIC風の分かりやすい文法を持つHSPは、作者やファンの努力によって、とても好ましい雰囲気を維持しています。ゲームやツールもたくさん生まれています。だから実は、さあみんなでHSPをやろうよ、といってしまえばそれでおしまいです。 -しかし僕は短大でC言語やJavaの授業を担当したので、そこでHSPを使うことはできませんでした(本当はHSPやなでしこでやりたかった!)。だから、どうにかしてC言語やJavaでBASIC風なプログラムを簡単に作れるようにしようと努力しました。難しい知識なしで。 --結局、C編では、この程度のライブラリ関数を誰かが用意しておいてくれさえすれば、結構遊べると言いたいだけです。blike.hに相当するものを初心者にいきなり作れというのは酷ですし、それができないならstdio.h程度で我慢しろというのでは、プログラミングの楽しいところが味わえません。 --Java編では、この程度の基本クラスがあれば、同じように遊びながら学べるのではないかと言いたいだけです。 -そしてそれは少しは成功したと思うので、その成果をここにまとめようと思います。以下、このページの子ページ内にあるプログラムはすべてKL-01です。また特に明記されてなければ、著作権は[[K]]にあります。 *** (3) [#j363ad77] -このページ及び子ページにはコメント欄がありません。何か意見を言いたい人は、掲示板で発言してください。 --http://osask.net/v/ -このページの内容はOSASK計画とは無関係ではないか?と言われると確かにそうかもしれません。僕としてはこれをOSASK計画のサブプロジェクトのひとつにしたいと思っています。OSASK計画は結果として中学生や高校生の育成を多少は担ってきました。その延長線上に位置づけています。 -でもこれがこのサイトにあるべきかどうかを判断するのは、最終的にはhideyosiさんです。hideyosiさんがダメだといったら、どこか別のところに移転します。 *** (4) 子ページの目次 [#s0507e6c] -CFB編 → [[blike/CFB]] -JFB編 → [[blike/JFB]] -C言語編 → [[blike/C]] -Java編 → [[blike/Java]] *** (5) [#hb7f8247] -このblikeを使ってこんなプログラムを書いたよ、っていうのがあったら教えてください。是非紹介したいです。短い割におもしろければ、そしてKL-01で公開してもらえるのなら、このページでもサンプルとして加えたいです。もちろん長い大作でも歓迎です。きっとそれをみて誰かが触発されるでしょう。