「Scratch」に集まる注目と「Tickle」

文字によるプログラミングの敷居の高さを回避して,処理の命令をブロックのように描いたビジュアル・プログラミング言語(ブロック型プログラミング)というものがあります。

これが,子供たち向けにプログラミングを教えることの重要性を訴える昨今の声とともに注目を集めています。現在最も有名なのが「Scratch」というビジュアル・プログラミング言語です。

2006年にマサチューセッツ工科大学(MIT)のメディアラボで開発され,世界中の言葉に翻訳されて利用されています。2015年8月12日〜15日にアムステルダムでScratchコンファレンス2015が開催されています。

教育を考えて生み出されたプログラミング言語には,BASIC(1964)やLogo(1967)などがあり,その後のLogoBlocks(1996)というグラフィカル・プログラミング言語の試みや,プログラミング環境であるSqueak(1996)に含まれたEtoysの存在に影響を受ける形で,Scratchが開発されることになります。また,『作ることで学ぶ』(オライリー2015)には,この辺の教育向けプログラミング言語と絡む「メイカーズ」と呼ばれる動きに至るまでの歴史の概略が記載されていますので関心があればこの本を読んでみてはどうでしょうか。

こうした教育的な取り組みと,2008年に解禁されたiPhoneアプリ開発によるゴールドラッシュ,カードサイズの安価なワンボードコンピュータ「Raspberry Pi」やドローンと呼ばれるマルチ・コプターの登場,家電を始めとした日常生活の中の物がインターネットを介して繋がり合うことで可能性を広げるInternet of Things(IoT)の分野がビジネス的にも注目を集めていることが,昨今のプログラミング教育や電子工作への注目に繋がっていると考えられます。

Scratchは,自分で作ったキャラクターに命令ブロックなどを組み合わせて動きを付けることによって作品を作り上げていくプログラミング環境です。見た目ブロックで取っ付きやすそうですが,本格的なプログラミング言語と変わらないため複雑な作品を作ることもできます。そうした柔軟性が人気となって,この夏も様々なワークショップやイベントでScratchによる表現作品づくりが盛んです。

Scratchを使ったプログラミング教育への関心の高まりは,ご時世的に「IT人材の育成」といった課題から来ているものも少なくありませんが,文化的な観点からすれば,日常生活に深く入り込むに至った表現手段(コンピューティング)を使って自己表現や感情表現していくことを,ごくごく当り前にできる世界を目指したいという思いが大きくなっているからです。

Scratchというビジュアルプログラミング言語は,万能選手ではありませんが,そのひとつの有力なツールとして,普及し始めているということになります。

ところで,Scratchの周りには,ブロック型プログラミングという特徴が似ている別のプログラミング環境があります。思いつくものの名前を列挙すると,Snap!BlocklyHOPSCOTCHSctatchJrPyonkeeTickleプログラミン前田ブロックコロコロ工作ブロック)などです。Scratchと系統を同じにするものもありますし,かなり異なるものもあります。

Scratchは,現在の2.0はFlash技術を使って動いていたりするので,iPadでは,標準Webブラウザから直接利用することが出来ません。Flash対応ブラウザアプリを介して利用するか,Snap!を使うか,ScrachJSという実験的なサイトを利用するしかありません。あとはScratchの仲間として開発されたアプリを使う他ありません。

Scratchのバージョン1.4というものを移植したScratchアプリが「Pyonkee」ピョンキーです。名前こそ違いますが,中身は正真正銘のScratchなのです。iPadでビジュアルプログラミングする場合にはこれを活用する人が多いです。

最近,りん研究室が注目して関わっているのは,Scratchにインスパイアされて開発された「Tickle」というiPad向けのプログラミング環境アプリです。

こちらはScratchとは別に新たに作られたアプリで,キャラクターやデザインなどが違いますが,同じようにブロックプログラミングできるように進化中です。

なによりTickleが凄いのは,ドローンなどの実物の機器をプログラミングで動かせてしまうことです。ドローンといっても玩具サイズのミニドローンや,二輪ロボット,ボール型ロボットなど「スマート玩具」と呼ばれているものです。

こうしたものをBluetoothという通信で遠隔プログラミングして動かすことで,よりプログラミングという行為の醍醐味をスマート玩具などの動きという結果で味わうことが出来るというわけです。また同様に,Arduinoと呼ばれるマイコン回路をプログラミングしたり制御することが出来るので,電子工作の世界にも足を伸ばすことができそうです。

現時点では,日本で使える機器に制限があるため,謳われている全ての機器を入手して動かすことが出来ないというのが問題ですが,そうした課題を克服する中でScratchやTickleを使った実物プログラミング(フィジカル・プログラミング)の世界も拡がるかなと思います。