12歳から始めるプログラミング、何からスタートすべき? 205
ストーリー by soara
行き着く先はオレ言語 部門より
行き着く先はオレ言語 部門より
あるAnonymous Coward 曰く、
本家「How To Teach a 12-Year-Old To Program?」より。
年の離れた弟にプログラミングを教えたいと思っている。自分の時代は BASICやApple BASICから始め、Pascalをいじり、徐々に Cや Javaに行きつくといった感じだったように思う。弟でもまずは簡単なものから始め、いずれは Cを扱えるようにしてあげたいと思うのだが、何からスタートするのがいいだろうか。例えば Pascalはまだプログラミングを習うにあたって現役で使われている言語だろうか?
最終的には Cを修得するのがベストだと思っているのだが、面白いことができるパワフルさがあり、それでいて取っつき易く、いずれは Cや C++に繋がるオススメの言語などあるだろうか。
基本から教えるべきでしょう (スコア:3, すばらしい洞察)
何事も基礎が大事です。
最初は、こんなの [otonanokagaku.net]を与え、概念を「体験」させます。
つぎに、本番 [otonanokagaku.net]と田宮のリモコンロボット製作セットを渡します。
(インタフェース部分は大人が作ってあげないと無理なので、そこは各自で工夫を)
目の前で「プログラムの通りに実物が動く」ので興味が長続きすると思うのです。
notice : I ignore an anonymous contribution.
Re:基本から教えるべきでしょう (スコア:2)
つまり、生の機械語とアセンブラから。
何事も基礎が大事です。
アセンブラはCPUによる・・・ というか,子供の個性しだいかな。私自身は,高1の時にアセンブラの勉強をしようと思ってモトローラの6800の教科書を読んで7つのアドレッシングモードに挫折したトラウマがあるので。ただ,今から思いだしてみると,インハラントとかイミディエートとかのカタカナ英語に理解を阻まれた印象はある。親父は高級言語(PL/1とか)の人だったんで,聞いても要領得なかったし。
ただ,私が考えるプログラミングの基礎は,ブール代数とオートマトンなので,子供が理解できるなら,という条件付きで賛成。
私が教えるのだったら,12歳前後だと,そろそろ学校で電卓を使った授業があるはずなので,そこで,逆ポーランド電卓を与えてみるとか。で,学校でハブられて「選ばれた人間の孤独と孤高」を理解してもらうと。まずは,そこらへんからかな。はじめてのプログラミングは「月着陸ゲーム」とか,そこらあたりで。
あと,スペースシャトルのコクピットの映像をみせて,そこに写ってる(はずの)16進キーを指して「君が宇宙飛行士になりたいなら,16進数と逆ポーランド演算が理解できないとだめだ」と教える。
それから,子供がプログラミングを覚えたあたりで,「君のためにプログラムを作ってみたんだが・・・」といって,BASICプログラムの入ったフロッピーディスク(笑)を渡す。それから子供の後をつけて「こんなもの!」といって,叩き割るのを見て子供の成長を楽しむ。
斜点是不是先進的先端的鉄道部長的…有信心
Re:基本から教えるべきでしょう (スコア:1)
自分も機械語から始めたんで、壁と言われてるCのポインタもアッサリ通過だったから、後を考えるとコレが良さそう。
the.ACount
Re:基本から教えるべきでしょう (スコア:2)
プログラムとメモリの関係(というより「コンピュータの動作原理」を理解するにはアセンブラは有用でしょうね。
私もCの前はアセンブラ(Z80)だったのでポインタは「HLと(HL)の違い」という理解でアッサリ通過でした。
Re:基本から教えるべきでしょう (スコア:2)
> 壁と言われてるCのポインタもアッサリ通過
私も今振り返ると、あっさり通過してしまったのですが、
当時は概念的にあっさり理解をしてしまっていたので、
なぜポインタが壁なのかが理解できなく、
もしかしたら、他に自分では気づいていない壁があるのではないかと、
存在しない壁を探し回って逆に苦労しましたよ。。。
Re:基本から教えるべきでしょう (スコア:2)
私も機械語から入ったので、ポインタの何処が難しいのかまるで分からなかったですよ^^
Re:基本から教えるべきでしょう (スコア:1, 興味深い)
たとえLEDだけでも、プログラム通りに制御されているのを見ると楽しいものです。
(ってことで次号の大人の科学はちょっと期待してます)
頑張ればロボットの制御もできるでしょう。
簡単だけど実際にはC++なので将来的にも役立つだろうし。
PythonかPerlかJavascript (スコア:3, すばらしい洞察)
最終的にCを教えたいのでそれに繋がるようなものってことなので、Pythonあたりがオススメ。覚えることが少なくてスタイルを強制されるし。
次点でPerl。簡単で強力だけど、臓物をぶちまけた鯨みたいなソースを書いたり読んだりするのに慣れてもCには行き着きづらいかな……
Javascriptも単純な構成でいろいろできるけれども、少し実行するまでにハードルがあるので第三位。
弟がコンピュータそのものになれてないならマインドストームあたりからで。
昔なら確かにBASIC一択だったよーな。
# しかし部門名もそうだがみんなせめてストーリーの本文くらいは目を通そうぜ。
# 「いずれはCやC++に繋がるような言語のオススメ」で「オレ言語」とか「CやJava」を勧めるか?
見た目が派手が一番 (スコア:3, すばらしい洞察)
Cでハノイの塔を作らせても、キャラクタで表示するようにするより、Xlibを使って絵を描かせた方が食いつきが良かった。
Xlibを使う方が面倒なはずなんですけどね。
今時であれば、 Flashでアニメーションとかを書かせるところから始めて、ActionScriptへ行くのがいいんじゃないかなと思います。
将来、そのまま役に立つ場面も多そうだし。
Re:見た目が派手が一番 (スコア:2, 興味深い)
見た目は重要ですね。
僕の場合も、10歳頃line文やpset文から入りました。
lineで線や四角を書いていると円を描きたくなるので、sin(), cos()と
radianの概念とループを覚えました。
その内楕円を描いてると回転させたくなったので、行列と一次変換を覚えました。
その後球を描きたかったのですが、やり方が見つからなかったので、あきらめました。
自由に絵が描けると、データをグラフ化したり、絵を動かしたり、
ゲームを作ったり、色々したくなるのでやりたいことが出て来て、目標が
はっきりするのもポイントだと思います。
さぁ、文字列を逆順に並び替えてみましょう、とか言われても興味わかないですよ。
今時はお手軽なのはFlashくらいしかないんでしょうかね。
個人的にはPythonが好きなので、Python + Python Imaging Library (PIL) [pythonware.com]かなぁ。
現場からのお願い (スコア:3, 興味深い)
トンデモPGのおかげで、去年は紅白歌合戦が始まっても帰宅できなかった哀れなオヤジからのお願いです。
外で遊ばせろよ (スコア:3, すばらしい洞察)
スポーツでの経験は大きな財産となるだろう。
だからまず、エクストリーム・プログラミング の楽しさを子供に教えてあげるべきだ。
レゴ マインドストーム (スコア:2, 興味深い)
レゴ マインドストーム [legoeducation.jp]とか。
やはり子供だと目に見えて動くものの方がとっつきやすそうですし。
プログラムは手段だから (スコア:2)
人生経験の少ない子どもに、実務的なものはハードルが高いだろうから、
ゲームとかツールみたいなものになるでしょう。
そうすると結果の見えやすい、イアンタプリタのBASICあたりが入りやすいと思います。
昨今なら、JavaScriptでもいいでしょう。
しかし、高級言語は基本部分をライブラリに下請けに出してしまうので、
コンピュータの原理を学ぶために、アセンブラは勉強しておくのがいいと思います。
そこで、BASICからアセンブラを呼ぶといった方法が役に立つでしょう。
大切なことは、プログラムは、何かを実現するための手段であって、
目的ではないということです。
そこを理解してもらうことが肝要でしょう。
Re:プログラムは手段だから (スコア:2)
「プログラムは手段」と言っている人に、「プログラムは目的」と繰り返し言っても無駄でしょう。
あと、プログラムそのものが目的というのはどういう事でしょうか?
電源オンから考える (スコア:2)
同じようなテーマで悩んでるんですけど、言語よりもそれ以前の問題で、
「電源を入れてから→開発環境に辿り着くまで」が、今のOSは複雑すぎ
ると思います。
(まあ、ゲームとかでもっと複雑な事をやってるので、「すぎる」は
言い過ぎかもしれませんが・・・)
昔のPC-8001なら、電源を入れて、
これだけで「プログラム」が動いた事を思えば、やっぱり手順が多すぎる。
DSとかで、プログラミング(BASIC)を学べるゲームが出たら良いのにな、
と思います。下の画面にプログラムを書くと、上の画面が実行結果、とか。
Re:電源オンから考える (スコア:1, 興味深い)
ポケコン? (スコア:1)
〜後悔先に立たず・後悔役に立たず・後悔後を絶たず〜
適正を見極めてから (スコア:2)
一通り実際に色々な言語で簡単なコードを書いて見せ、興味を示したものから手をつけるのが良いと思います。教えてやろう、という態度だと小さい子供は付いてこないと思いますよ。しかし興味があるなら、案外しっかりと付いて来る可能性が高い。あと、興味があるなら予習や自習も苦にはなりませんし。
よくあることですが、子供に無理やり習い事をやらせると、長続きしないことが多々あります。
別に最初からCでもいいんじゃね? (スコア:2)
最初からCではダメな理由がちょっと思い当たらない。おいらの場合、最初はBASICでしたが、BASICの理解もそこそこにアセンブラを習得したので、最初からCでも普通にいけると思うけど。
もっとも、なぜCを学んでほしいと思うのか。そこには共感しないけどね。Cがベストな世界なんて、今やハードウェア寄りなところだけじゃない? おいらが息子にプログラムを教えるなら、まずはSmalltalk、続いてScheme。高校に入ったらHaskellをやらせると思う。そして「Common Lispが結局最強だけどな」と伝え続けるよ。
Re:別に最初からCでもいいんじゃね? (スコア:2, おもしろおかしい)
息子かわいそう
同学年からウザがられる生意気で孤独なガキになるわけですね
HTML (スコア:2)
チンケな小企業でも、自前のホームページを備え、必要に応じて更新する必要があるから、誰かHTMLを書ける人が必要になる。
ROBO DESIGNERいいよ (スコア:2, 興味深い)
プログラミングの概念を教えるのに、 ROBO DESIGNER http://www.japan-robotech.com/robodesigner/product/set.html [japan-robotech.com] はなかなか良かったですね。
付属のタイル言語(TiCOLLA)は、タイルをフローチャートの様に並べてプログラムを作成します。
それをロボットにダウンロードして動かせるので、プログラムの結果を実物の動作で確認できます。
次のステップとして、C言語の開発環境も用意されています。
こちらの方には、組み込みで面倒な割り込み処理も良く考えられており、秀逸です。
タートルグラフィックスのライブラリ付きなものなら (スコア:1)
どれでもいいかなと思ったり。
とりあえずなにか目に見えるモノのほうが飽きが来ないようです。
子供向けにJavaのプログラミングを教えたことがあるのですが、
ループや条件判定などを教えるにもその結果がグラフィカルに
見えると試行錯誤しやすいと思います。
言語仕様としてどれがいいのよって話になると宗教戦争になるだろうし。
屍体メモ [windy.cx]
はじめてのC (スコア:1)
12歳なら「はじめてのC」 [amazon.co.jp]を電車の中で読んでいて JK に笑われたっていいじゃない。
モデレータは基本役立たずなの気にしてないよ
Re:はじめてのC (スコア:3, 参考になる)
今の若者はそんな言い回ししないようですよ?
もっと直接的ですorz
Re:はじめてのC (スコア:1)
つーほーしますたw
Re:はじめてのC (スコア:2, おもしろおかしい)
普通の出し入れH とか 浮かぶH とか
使用禁止 (スコア:1, おもしろおかしい)
A:核兵器,B:生物兵器,C:化学兵器だと教わりましたが。
12歳ではじめてのCって、末恐ろしいってか世も末ですね。
Re:使用禁止 (スコア:1)
CかJava (スコア:1)
次点でVBでしょうか
#CASL?
Proce55ing (スコア:1, 興味深い)
ドキュメントが少ないですが、手取り足取り教えてやれる教師がついているならProcessingがいいのではないかと。
私が初学者だったころ、自分のプログラムの変更結果が絵で見てすぐに分かるというのが「自分でやっている」感があってBASICで絵を描いていました。
Processingならクロスプラットフォームで、スキルはJavaにも持って行けますし、その場にとどまってオブジェクト指向を理解したりゲーム(的なインスタレーション)をつくったりと極めることもできて良さそうです。
就職ならC一択だけど… (スコア:1)
構造化を学ぶならCでしょうし、Cなら職に就くのにも役に立つし。
でも、12歳ならもっとお手軽にいろんな画面効果が見られるものが良さそうです。
というわけで、ActionScriptがお勧めだと思います。
GNU Pascal Compiler (スコア:1, 参考になる)
Linuxシステムを与えて、CUIの基本的操作はマスターしている@厨1、とします。
とりあえず、GPC(GNU Pascal Compiler)で遊んでもらうのが良いのではないかと。
テキストだけだとちと寂しいものがあるので、grx(グラフィックスライブラリ)を
仕込んでおくことがポイント。そして、森口先生の「Pascalプログラミング対話」
でいろいろ遊んでもらう予定。
12歳の子供だぜ? (スコア:1)
12歳子供って意外と大人なものだよ。
子供だからって馬鹿にしたりせず、きっちり本人の希望を聞いて教えてやろうぜ。
WEB系と、OS系と、ゲーム系と、ロボット系・・・やりたい事により、覚えるべき言語は違うからね。
Re:12歳の子供だぜ? (スコア:1)
>ロボット系
これですね? [google.co.jp]
#絶対違うと重うけどID
ψアレゲな事を真面目にやることこそアレゲだと思う。
Re:12歳の子供だぜ? (スコア:2)
こっちじゃないですか? [zariganiworks.co.jp]
#グレること間違いなし。
Re:12歳の子供だぜ? (スコア:1)
い、いや……それ、プログラミング関係ないし……
ψアレゲな事を真面目にやることこそアレゲだと思う。
Re:12歳の子供だぜ? (スコア:1)
冗談抜きで、カルネージハートはプログラミングの入口として悪くないと思いますよ。
「ロボットの戦闘アルゴリズム」を「逐次実行」「条件分岐」「ループ」の組み合わせで表現するというのは、
「プログラムとは何か」についての学習になるんではないですかね。
プログラミングの前に (スコア:1)
ここまでFORTHなしかー。 (スコア:1)
Mindは出てたけど。
VBAあたりはどうか (スコア:1, 参考になる)
VBAなんかどうでしょうね。
事務用プログラムの場合、データ処理が必要なのでAccessでデータベ
ースの基本を教えて、その後、フォームと自動化あたりをネタにVBA
を結構使えるようになれば、Cへの移行の基礎はできるのでは。
VBAって、ActiveXとかOCXとか使って、FA用ボードの制御もできたり
結構強力ですし。
Basic系でいったらFreeBASICって、どうなんでしょうね。
Quick Basic互換らしいので、構造化プログラミングを学ぶには十分
だと思うんだけど。
本命のCに移行する際にとまどいそうなのが、Cではライブラリで
主要な関数が提供されることだよね。
Basic系だと主要な命令・関数は組み込みで拡張部分のみライブラリ
だけど、Cの場合、そうではないということと、似たような関数が
いくつもあって迷うのが最初の難関だと思う。
MSXに相当するようなエントリープラットホームが無いのがとても不思議 (スコア:1, 興味深い)
職場によってはMSX持ちが半数超えてた事もある。
あの時代は凄かったと思うよ。
なにせ一般の子供向け雑誌にサッカーとかプラモとかと同じノリでBASIC入門が載ってたんだから。
逆に、今の子はいきなりWindowsでいきなりVB.netなんだな、って思うとちょっと敷居が高いんじゃねーの?って気はする。
Re:GUIから (スコア:1)
Small Basic [microsoft.com]なんか取っつきが良いんじゃないでしょうか.
経験者が触る分には楽しかったです.
pdfでついてくるチュートリアルの出来もなかなか.
Re:定番 (スコア:1)
同意。
この条件に完全にマッチするのは英語ですな。
言ってないことに反論するなよ
Scratch (スコア:1, 興味深い)
専門書 [amazon.co.jp]をプレゼントしたら勘どころを掴んだ様で、猫に変な挙動させては喜んでます。
12歳を対象とするには見た目がこどもっぽ過ぎるきらいはありますが、プログラムの基本を覚えるには良い素材かと。
Re:プログラムなんて教えてないほうがいい (スコア:1)
代わりに女の子の口説き方でも教えてあげなさい。
Re:プログラムなんて教えてないほうがいい (スコア:2, すばらしい洞察)
代わりに女の子の口説き方でも教えてあげなさい。
人にものを教えるというのは、教える側が3倍理解していなければ難しいものです。
Re:都市伝説 (スコア:2, 参考になる)
恋は人を盲目にするが、結婚は視力を戻してくれる。(リヒテンベルグ)
男と女が結婚したときには、彼らの小説は終わりを告げ、彼らの歴史が始まるだろう。(ロミュビリュズ)
結婚なんてつまらない。 死ぬまで夫婦の約束を守らなくちゃならないんだもの。 そんなバカげた約束を誰ができて?明日どんな風が吹くか、神様だってご存知ないわ。(ミア・ファロー)
妻を選ぶのはネクタイを買うのとよく似ている。 選んだ時は素敵に見えるが、家に帰って首に締めてみるとがっかりする。(ジョイ・アダムス)
夫婦間の会話は、外科手術のように慎重に取りかからなければなりません。 ある種の夫婦は正直なあまり、健康な愛情にまで手術を施し、 そのために死んでしまうようなことになるのです。(モロア)
結婚とは、熱病とは逆に、発熱で始まり悪寒で終わる。(リヒテンベルグ)
女には、どうしてもわからないテーマが一つある。 男は仕事に注ぐだけの熱情をなぜ家庭にそそげないのか、ということだ。(D・デックス)
三週間互いに研究しあい、 三ヶ月間愛し合い、 三年間喧嘩をし、 三十年間我慢しあう。 そして子供達が同じことをまた始める。(テーヌ)
夫が妻にとって大事なのは、ただ夫が留守の時だけである。(フョードル・ドストエフスキー)
結婚生活の意は雨のようなものだ。 初めに人はこう言う。「一体、いつ降り始めたのだろうか?」 二度目の雨でこう言う。「もう雨はたくさんだ」 そして三度目の雨でこう言う。「もう、本当にあきあきした」(ピグミー族の諺)
結婚へは歩け。離婚へは走れ。(ユダヤの格言)
ずいぶん敵を持ったけど、 妻よ、お前のようなやつははじめてだ。(バイロン)
ウェディングケーキはこの世で最も危険な食べ物である。(アメリカの諺)
離婚は事実において結婚の破壊ではない。 むしろ、結婚を維持する第一条件である。(バーナード・ショー)
「結婚を考えたことはないのか」 「あるさ。でも考えるのとするのは違う」(夕日の挽歌)
結婚とはセルフサービスの食事のようなものだ。 自分の欲しい料理を選んだ後で、隣りの人たちのお皿の中身を見る。 そして、どうして自分は彼らと同じ物を選ばなかったのだろうと自問するのである。(J・ドラークル)
一窯のパンを焼き損ねれば一週間、収穫が悪ければ一年間、不幸な結婚をすれば一生を棒に振る。(エストニアの諺)
男にとっても、結婚はしばしば一つの危機である。 その証拠に、多くの男性精神病患者は婚約期間中、 もしくは結婚生活の初期に生まれる。(ボーヴォワール)
恋と結婚は同じ故郷に生まれた仲でありながらほとんど結びつくことはない。(バイロン)
人は無我夢中に急いで結婚するから一生悔いることになる。(モリエール)
結婚は、多くの短い愚行を終わらせる。一つの長い愚鈍として。(ニーチェ)
できるだけ早く結婚することは女のビジネスであり、 できるだけ結婚しないでいることは男のビジネスである。(バーナード・ショー)
結婚生活をいくらでもほめたたえてよい。しかし自分自信は独身でいたまえ。(フィールディング)
結婚したらいろいろ分かってきますよ。いままでは半分謎だったことが。(モーツァルト)
あらゆる人智の中で結婚に関する知識が一番遅れている。(バルザック)
結婚生活に幸福を期待しすぎて、失望しないように気をつけなさい。 ウグイスは春に2、3ヶ月だけは鳴くが、卵をかえしてしまうと、 あとはずっと鳴かないものだ。(トーマス・フェラー)
結婚するとき、私は女房を食べてしまいたいほど可愛いと思った。 今考えると、あのとき食べておけばよかった。(アーサー・ゴッドフリー)
もし人生をやり直すのだったら、私は結婚しないでしょう。(チェーホフ)
あなたがもし孤独を恐れるのならば、結婚すべきではない。(チェーホフ)
結婚――いかなる羅針盤もかつて航路を発見したことのない荒海。(ハイネ)
結婚は雪景色のようなものである。 はじめはきれいだが、やがて雪解けしてぬかるみができる。(山本有三)
女はみんな結婚するほうがいい、 男は一人も結婚しない方がいい。(ベンジャミン・ディズレーリ)
女房に愛される技術というものは発明されないものだろうか。(ラ・ブリュイエール)
不本意な結婚をした男にとって、彼女は妻ではない。敵だ。(プラウトウス)
結婚は死と同じである。取り越し苦労は無用である。(ヘラルド)
女性が結婚するのには大きな理由がある。 男性が結婚する理由は一つもない。 群棲欲が彼らを結婚させるだけのことである。(モンテルラン)
夫婦が長続きする秘訣だって? それは、一緒にいる時間をなるべく少なくすることさ。(ポール・ニューマン)
女は二種類に分けられる。 結婚だけを夢見ている独身の女性と離婚だけを夢見ている既婚の女に。(ジョルジュ・エルゴジィ)
結婚とは誰もが犯さなければならない過ちである。(ジョージ・ジュセル)
結婚前には両目を大きく開いて見よ。結婚してからは片目を閉じよ。(フラー)
結婚するのは、二人とも他に身の振り方がないからである。(チェーホフ)
一度結婚してしまうと、善良であること以外には何事も、 そう、自殺でさえも残されていない。(スティーブンソン)
結婚はデザートよりスープが美味しいコース料理である。(オーマリー)
常に賢明な人間でありたいと思うなら、決して結婚はしてはならない。 結婚というものは、 ウナギをつかもうと思って、蛇の入っている袋に手を入れるようなものだ。 結婚するくらいなら、まだ痛風にでもかかったほうがマシだ。(メレジコフスキー)
結婚式もお葬式も同じようなものです。 違うのは、もらったお花の香りを自分でかげることくらいよ。(グレース・ハンセン)
二人の結婚は美しかった。なぜなら彼女は離婚する力を持っていたから。二人の離婚もまた美しかった。なぜなら彼女は友達となれる心を持っていたから。(川端 康成)
男はみんな賭博師だ。でなきゃ結婚なんてしやしない。(フレデリック・リット)
一人でいるとき、女たちがどんなふうに時間をつぶすものか。 もしそれを男たちが知ったら、男たちは決して結婚なんてしないだろう。(O・ヘンリー)
四ヶ月の交際が一生を保証するだろうか?(ジャン=ジャック・ルソー)
金がなくて恋愛結婚をすれば、楽しい夜と悲しい昼を持つ。(西洋の諺)
「いいことがある。僕達は結婚しよう」 「もっといいことがあるわ。結婚しないでおきましょう」(ジョルスン物語)
結婚する前、 男はあなたの言った言葉を夜中にあれこれと考えて一晩眠れずに過ごすが、 結婚した後は、あなたの話がまだ終わらないうちに眠ってしまうものなんです。(ヘレン・ローランド)
現代では一回では上手く結婚できることは決してない。 やり直す必要がある。(アルフレッド・カピュ)
いいや、君にはろくなことはないよ。 結婚をしてみろ、君はせっかくの青春を滅ぼすだけの話さ。(プーシキン)
結婚とは、その主人公が第一章で死んでしまう小説のようなものである。(出典不明)
夫と妻の、どちらに離婚の責任があったのか? どちらにもあったのだ。あるいは、どちらにも無かったのである。(メレジコフスキー)
「人生最良の時は結婚式の日だった」「最悪の時は?」「それ以後の毎日」(シティ・スリッカーズ)
金のために結婚するものは悪い人間であり、 恋のために結婚するのは愚かな人間である。(サミュエルジャクソン)
結婚するとは、彼の権利を半分にして、義務を二倍にすることである。(ショーペンハウアー)
人は急いで結婚し、暇になってから後悔する。(ウィリアム・コングリーヴ)
Re:時代が悪い? (スコア:2, 参考になる)
環境が多少限定されても良いなら、Active Basicというのがあります。
http://www.activebasic.com/ [activebasic.com]
これなら、実行ファイルにコンパイルして、(winの)ほかの環境で実行することも可能。
従来(従来って言えるほど今ではありませんが)の行番号付きのプログラミング、GOTO/GOSUB地獄もできます。
RADツールを使用したGUIアプリケーションの作成も、3.0か4.0からできたような気がしますが…
自分はその頃にはDelphiに取り付いていた(取り憑かれていた)のでそちらの方が遙かに便利だった気がします。
# VCLが洗礼されていたり、IDEから直接オンラインドキュメントが読めたり、なによりコード補完が便利なので
# それらがないActiveBasicを使う気になれなくなっていた
学習目的だけのためにVisualBASICはお高い。Delphiもタダ版が(まだあるんでしたっけ?)にしてもどちらも規模が大きすぎる。
Visual Studio Express (C#/VB/CLR C++/Win32 C++)ならただで手に入りますよ。
高校生、学生(小学、中学は不明)ならVisual Studio Proも無料で手に入ります。
GUIアプリ開発には別の言語を使うように言うのも一つの手かと思います。