英国の子供(7年生)全員に無償配布さているというBBC提供のmicro:bitがなぜかやってきた。
次に写真のように、しっかりBBCのロゴが印刷されている。その他のチップなどの説明も分かりやすく印刷されていて、とても教育的だ。向こうではBBCが無償配布するんだから、日本ではNHKが子供に無償配布し、連動した番組があったりして欲しいところだ。
左側がCPUで、今話題のARMのチップである。
- JavaScript
- Block Editor
- Touch Develop
- Python
Block Editor はScratchみたいな感じで、それをもうちょっと普通のエディタっぽくした感じのがTouch Developである。上の3つは、用意されている命令などをツンツンするこでプログラミングをしていく。
Pythonは、普通のエディタを使ってコーディングする感じである。なので、とりあえず、Pythonを使ってみた。
Pythonといっても、標準のPythonではなく、MicroPythonである。当然、あれこれimportして使うなどできない(はず)。microbitを動かすためには、とりあえず、最初に、 import microbit と書き、その後、ごちゃごちゃ書けば良いらしい。
ということで、ちょっとプログラムを作って走らそうとしたが、他のエディタと違って、ブラウザ上ではシミュレートできない。プログラムをパソコンにダウンロード(.hexファイル)し、micro:bitをUSBでパソコンにつないで、.hexファイルをmicro:bitに投げ込むと動き出す。
しかし、当然プログラムをミスして動かないことがある。すると、micro:bit の LEDに想定外のメッセージらしきものが流れるのだ。よく見ると、英語でエラーメッセージが流れていることが分かり、行番号が含まれていることが分かる。
なんと、シンタックスエラーがあっても、エディタ上では何も出ず、micro:bit上で走り始めたときにやっと分かる。したがって、Pythonでプログラミングするときは、エラーフリーで書けるプログラミング能力が要求される。あるいは、英語で流れるエラーメッセージをすばやく読み取れる動体視力と英語力が要求される。
なぜこんなことになっているのかというと、Pythonはコンパイルされず、テキストのままmicro:bitに転送されるのだそうだ。そのとき、つくったPythonのプログラムだけでなく、MicroPythonのインタープリタも転送されるので、.hexファイルが小さなプログラムであるにもかかわらず600キロバイトと巨大な理由らしい。これは、近いうちにmicro:bitの互換機を出すスイッチサイエンスのビデオからの情報だ。
ドキュメントはかなりしっかり用意されている(もちろん英語)ので、あまりプログラミングには困らないと思う。とても困るのは、5×5のLEDだけで何か面白いことをしようとすると、プログラミングよりもはるかに頭を使わないといけない。これこそ頭の訓練になりそうだ。