反響大きく、リツイートが300を超えています。こどもにとってのインターネットはまだ遠いメディア。日本中のこどもにとっての、プログラミング+電子工作、IoTの世界で遊ぶきっかけになってくれればと思います。
電子工作マガジン2015年春号できました。BASICプログラミング専用こどもパソコン
「IchigoJam」コーナーとして、あのマイコンBASICマガジンが復活!(涙)投稿プログラムを募集しています。3月19日よろしくお願いします。 pic.twitter.com/IZvSKd1FGq
— 忍者犬の乳丸(dp中年団) (@opaimar) March 17, 2015
かつてBASICでプログラミングした人はやはり多く、FOR/NEXTがない理由は気になるポイントのようです。代替が効くのでメモリを節約したいこともありますが、そもそも文法がわかりづらく、好みじゃないからです。
こちらFOR文を使った、AからZまでの間違えずに押すゲームプログラムですが、実は落とし穴があります。キーを打ち間違えるたびに、NEXTを通ってループが終了しないまま、再度FOR文に入るのでスタックが溢れてしまいます(同じ変数ならスタックを消費しない手もありはしますが、さらに文法がややこしくなる・・・)。また、FOR文の後に書かれた代入文で使う変数が、TO文で暗黙に使われるところも気持ち悪く、増減分を変更するにはSTEP文というまた別の用語を使わないといけません。(ループを抜けるBREAKを追加しようにも、どこのNEXTに対応するか決まらないため実現できず・・・)
こちらはIchigoJamでも動く、FOR文を使わないプログラム。このようにIF文とGOTO文で代用でき、プログラムの長さはほとんど変わらず、分かりやすく記述できます。同様になぜかプロ用の言語なのに、高専では入門用にと使われていることも多い、C言語でも「for (int i = 0; i < 10; i++)」と書かれたfor文のそれぞれの要素がどのような順番で動くのか直感的に理解しにくいため鬼門となっています。
「プログラミング言語はプログラマーに対してのユーザーインターフェース by まつもとゆきひろ」
IchigoJamをきっかけに、プログラミング言語づくりもやってみたいという子供もきっといるはず。答が無数にあるコンピューターの世界へようこそ!(参考、IchigoJamで学ぶマシン語その1)
IchigoJamは、Arm Cortex-M0で動く、CPU LPC1114FN28にピンの使用方法がわかるシールを貼っています。組み立てキット、せっかくなので、素のCPUにも触れてもらい、ミニ四駆のように自分でシールを貼る儀式があると更に愛着も湧くかもと、試作中です。