プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

プログラミングが楽しい遊びだったことを思い出させてくれるSmall Basic


だいぶ前に使ったSmall Basicが正式版になったんですね。機能アップはもちろん、簡単にwebアプリ化できて楽しいです。

Small Basicは、そのホームページに「Microsoft Small Basic puts the "fun" back into computer programming.」(プログラミングに楽しさを取り戻す)と、楽しいプログラミングを志向して作られた開発環境。ホームページは英語ですが、ダウンロード後にインストールして起動すれば日本語表示になります。

起動すればすぐにプログラミングが始められ、1本のソースコードとして保存できます。初めてプログラミングした頃のような気持ちいいほどのシンプルな開発環境で、一通りの命令は揃っているようですのでカジュアルなWindowsプログラミングには十分に使えそうです。サンデープログラマーの遊び道具としてはもってこいではないでしょうか。

超簡単プログラミング「MS Small Basic」が正式版で無料公開、サンデープログラミングにどうですか? - Publickey


前回ちょこっと使ってみた感じでは「まだまだ荒削りかな」という印象だったけど、さすがにリリース版は完成度も上がってますね。安易に機能追加はせず、あくまでシンプルさは残しているところに好感が持てます。

Microsoft Small Basic puts the "fun" back into computer programming. With a friendly development environment that is very easy to master, it eases both kids and adults into the world of programming.

Small Basic - Development for Beginners - MSDN


最初の記事に書かれているように、これは感覚的にはパソコンがまだマイコンと言われていた時代のBASICにそっくり。覚えることが少ないので「プログラミングはちょっと」という人でも気軽に始められます。(トップページにリンクが見当たらないのだけど)使えるAPIは以下の通り。ねっ、簡単そうでしょ!?:)


Small Basic API Reference


インストールパッケージもコンパクトに出来ていて、サクっとセットアップできます(要.NET framework 3.5)セットアップできたら、まずは一緒にインストールされている"Introducing Small Basic.pdf"を開き、そのチュートリアルに従って遊んでいけば、基本的な使い方はマスターできると思います。


まあこれだけだと、よくある簡易言語なんだけど、そこはちゃんと今の時代チックな味付けがされてます。

Small Basicのクールな機能

簡単にwebアプリ(SylverLight)化できる!


webアプリというとサーバ環境や、スクリプト言語の知識が必要だったりしますが、Small Basicはホントに簡単。ある意味Small Basic最大のウリかもしんないです。「こんなの作ったよー」と、みんなで簡単にアプリを共有するには持ってこいの機能と言えます。


詳しくは以下に説明がありますが、


Small Basic : Small Basic - Now with SilverLight


要はSmall Basicでアプリを書き、Publish(日本語版では「発行」となっている)ボタンを押すだけ。トップページにあるTETRISだとこんな感じ(要SylverLight)


http://smallbasic.com/program/?TETRIS


ちなみに一度publishされると変更も削除も出来ませんのでご注意を。まあ特に容量制限もないっぽいので、テストしつつバシバシpublishしていくのが正しい使い方と思われ。


例えばこんなアプリが簡単に作れますよー。:)


http://smallbasic.com/program/?RWP875


一番最初に作った「まさか本当にwebにアップされてしまうとは」アプリ(笑)


http://smallbasic.com/program/?SPK963

他の人のプログラムの流用が簡単にできる!


プログラミングや言語に慣れるには、他の人が書いたソースコードを見るのが一番。Webアプリ化されたプログラムはもちろんブラウザで実行できるのですけど、Small Basicに取り込むことも簡単に出来るのです。


Small Basicにある「インポート」というボタンを押して、プログラムIDに"TETRIS"と入力してみて下さい。さっきブラウザで実行したTETRISソースコードが取り込めましたよね。ローカルで実行することはもちろん、自分で改造したりすれば、だんだん使い方が分かっていくはず。


Small Basic Forumを探すと、他の人がアップしたアプリをたくさん見つけられるでしょう。以下のアプリなんかも参考になると共に、なかなか楽しいですよ。


http://smallbasic.com/program/?SNKBITE
http://smallbasic.com/program/?ASTEROIDS
http://smallbasic.com/program/?HNV340

VBにコンバートできる!


一番右にある「等級をつける」ボタン(英語では何だろう、これ!?)を押すと、Visual Basicに変換できます。コンパイルすれば実行ファイルを作って配布したりも可能(当然Visual Studioが必要ですが)


まあオマケ的な機能ですが、より高機能なものへとステップアップしたい人への橋渡しにはいいかもしれないですね。

これから遊ぶ人がぶつかるかもしれないTIPSとか

SylverLight化する時はファイルもネット上に置く


PublishされるのはSmall Basicプログラム本体のみ。よって、グラフィックやサウンドデータはSylverLight化された時ネット上で見えるようになっていなければなりません。Flickerが直接扱えるようになっているのは、そんな理由からかも。

SylverLight版ImageList.GetWidthOfImageのバグ!?


SylverLight化するとImageList.GetWidthOfImageで常に0が返ってくるように見えます。Small Basic版はちゃんと動くので、正しくコンバートされてないのかも。後でフォーラムに質問してみようかな。

どうでしょう!?


これは楽しいですよ。昔BASICでプログラミングを覚えた人は、新しいコマンドを使うたびに感じたあの新鮮さを味わえると思います。公式サイトにあるように「プログラミングって楽しかったんだ」ということを思い出させてくれます。


いや、今がつまらないわけではもちろんないですよ。でも今のプログラミングは「休日にちょっと遊んでみよう」って感じじゃないんですよね。これはほんとそんな感じで使える。


うん、プログラムを作るっていうより、遊ぶって感覚なんだよね。


もちろん他にも手軽に遊べる処理系はあるだろうね。でもこれは昔BASICやっただけって人でも(もちろんそうじゃない人でも)すぐに遊べるよ。


ちょっと時間のある休日に遊んでみて。そして何かゲームが出来たら教えてー(そこかい)