create every day - 福野泰介の一日一創

BASIC=IDE+OS!今更BASICが良い、3つの理由

2015/03/06 23:55:00
#IchigoJam #KidsIT 

秋葉原、伝説のお店、秋月電子IchigoJam が並ぶ感動。「ASCII.jp:1500円で買えてBASICが走る"こどもパソコン”「いちごじゃむ」」から火が付いた、賛否両論。現代の子供に、プログラミングの楽しさを伝えるために作ったBASICでプログラミングしかできない、大好きなMSXのようなパソコン IchigoJam。なぜ今更、50年前のBASICなのか?

1. 安い!
設計において最優先したのはイチゴー(1500円)という値段。そもそも選択肢は限られます。ビデオ出力、キーボード入力を処理しつつ、プログラミング環境を実現できそうで、手に入る最安値のCPUを探しました。要件ぴったりのマイコン NXP LPC1114FN28 のRAMはたったの4Kbyte、プログラムを格納するROMにあたるFlashROMも32Kbyte。Tiny BASICくらいシンプルで原始的なものなら入ります。居間でプログラミングしたゲームを簡単に親に見せる成功体験に、NTSCのビデオ端子は外せません(HDMIはライセンス代と処理負荷が高く、S端子/D端子は消え行く運命)。USBキーボード対応は懸案ですが、マイコン処理負荷アップは避けられず、現状最も安く手に入るキーボードはPS/2キーボードなのでひとまず保留中(ヨドバシカメラで545円の送料込み、他ジャンク品多数)。安さ実現のためのキット化は、自分で組み立てたものが動く感動と愛着が、プログラミングしてみようというモチベーションへとつながりました。電子工作したラジオが鳴った感動の現代版!?

2. シンプル!
BASICはプログラミング言語に限らない、IDE(統合開発環境)であり、OSです。IchigoJamは、単体でプログラムの入力、編集、実行、デバッグを行えて、仕様書はA4一枚。OSのインストールから始まるRaspberry Piを渡して自分でできる子供はそもそもそれを必要としません。JavaScriptの場合、ChromeやSafariの開発コンソールの使い方、Swiftの場合はXcode、Java/C/C++/Rubyの場合はEclipseやAndroid Studioなど、プログラミング言語の使い方だけでなく、開発環境自体を習得する必要があり、なかなか煩雑です。まずはおもちゃのようなシンプルな環境で、コンピューターととことん遊んでもらいたい。行番号付きBASICはマシン語に近く、目にも普通に留まるスピードは工夫した効果が分かりやすく、プリミティブなコンピューターを学ぶのに最適です。構造化、オブジェクト指向、イベントドリブン、分散処理へと進むための基礎を体得できます。また汎用I/Oを使ったロボット制御、センサー利用も簡単です。

3. 楽しく教えられる!
小3の時、友達が持っていたファミリーベーシックが羨ましくて買ってもらったMSX。本を見ながら打ち込みゲームが動いた感動は今でも忘れません。世界初の個人向けコンピューターAltair 8800(1974)にBASICを移植したビル・ゲイツ、世界初のパソコン Apple I(1976)を作ったスティーブ・ウォズニアック、当時の中学生が熱中した電気街秋葉原の祖 TK-80でも動くBASIC。Facebook社長のマーク・ザッカーバーグもはじめてのプログラミングはBASICと、たくさんの人の思い出が詰まったBASIC。「好きな人が教えるべき」プログラミング・クラブ・ネットワーク設立会で得た教訓です。子供の目の前でさらさらとプログラミングしてかっこいいところ見せられる大人がたくさんいるはず!


こちら、プログラマーの技量を見破る手として有名な「Fizz Buzz」問題のIchigoJam版です。なぜか教育現場で嫌われたかわいそうなBASIC、由緒正しいプログラミング入門用として開発された、ミニマムでかわいい言語&環境です。仕様書を渡して、その場で Fizz Buzz 書いてという入社試験もありかも。


(憧れの秋月電子通商に掲載された、IchigoJam!)

秋月さん品切れになっちゃいましたが、プリント基板キット版 PCN / PCワンズ / スイッチサイエンス でも買えます。ダイソーの400円ハンダゴテと100円のハンダでも組み立てできました!

ハンダ付けはちょっと・・・という方、組み立て済み完成版 PCN / PCワンズ / スイッチサイエンス や、必要な物を全部セットにした Get Started Set もあります

プログラミング、興味があるけどハードル高そうだなと思っている大人にもオススメです!(小学3年生を想定して連載中のIchigoJamではじめるプログラミング

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image