1: 2010-07-08 (木) 19:26:30 k-tan[5] [6] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | * 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風なプログラムを簡単に作れるようにしようと努力しました。難しい知識なしで。 | ||
+ | -そしてそれは少しは成功したと思うので、その成果をここにまとめようと思います。以下、このページの子ページ内にあるプログラムはすべてKL-01です。また特に明記されてなければ、著作権は[[K]]にあります。 | ||
+ | |||
+ | *** (3) [#j363ad77] | ||
+ | -このページ及び子ページにはコメント欄がありません。何か意見を言いたい人は、掲示板で発言してください。 | ||
+ | --http://osask.net/v/ |
(This host) = http://osask.net