THE長文日記

長文とか短文とかのクレームは一切受け付けません

MOONBlockがこれから更にアツい!!! 次世代ビジュアル言語開発計画が始動


 時折、ひとつのことに集中していると自分たちの仕事が外からどのように見られているかわからなくなることがある。


 そしてTwitterでMOONBlockの質問などを頂いて、「あれ?もしかして流行ってるの?」と思った。

 そしてなんかMOONBlockの解説動画で僕らと関係ない人が紹介してくれてるのを初めて見た。

D


 去年の動画らしいけど。




 もちろん僕はMOONBlock、というか、ビジュアルプログラミング言語にこそプログラミングの未来がある、次なるシンギュラリティのヒントがプログラミングそのものを簡単にすることに隠されている、と考えているんだけど、MOONBlockはenchant.jsに比べるとついてくる人が少ない。それはどうしても子供向けに見えてしまうからだろう。


 けれども僕は本気でビジュアル言語に可能性を見出している。

 

 それで実は昨年からMOONBlockの肥大化した言語仕様を整理しつつ、年始に東浩紀さんと行った対談の結果も踏まえつつ、新たなビジュアルプログラミング言語を開発しようというプロジェクトを動かしていた。


 が、仕事として水面下でやってしまうと、有料のブロマガに書くネタがなくなってしまうので、思い切って開発プロセスをブロマガで公開することにした。

http://gyazo.com/dfab867b3d89e5875bda0008863d9e23.png

MOONBlock DX 開発計画始動! だれでも瞬間プログラミングの時代へ /shi3z:電脳ヒッチハイクガイド:電脳空間カウボーイズZZ(電脳空間カウボーイズ) - ニコニコチャンネル:生活

 よく考えたらプログラミング言語開発プロセスを公開するってそれほどへんなことではなくむしろ当たり前のことなんだけど、そこらへんちょっとねー、enchantMOONの開発と密接に絡んでいたから失念していた。


 ブロマガ読者の皆様からのご意見、ご要望も巻き込んでさらに洗練させていくので乞うご期待。

 詳しくはブロマガを見てね(企画書以外は会員でなくても閲覧できます)


 

 そしてなんと、5歳児と6歳児にMOONBlockを遊ばせてみたお父さんのブログを発見。

6歳娘・5歳甥とMOONBlockに挑戦してみました(1)【No.292】 | パソコンは脳の自転車 【株式会社WIT 代表 藤田 真一のブログ】

 微笑ましい。

 しかも嬉しい事にScratchとの明確な違いにも言及してくれてる。


 そう、Scratchで面白いゲームが作れる感じがしないんだよ。

 Scratchは、たとえばキャラが動くということ自体を「プログラミング」しなきゃならない。


 それは「プログラミングを教える」という考え方からは正しいかもしれないけど、それってプログラミングを教えるならまずはマシン語から、と言ってるようなもので21世紀のパラダイムから見て現実的とは思えない。


 たとえばWebサービス作るのに、TCP/IPソケットプログラミングから教えるようなもの。そんなことしたら誰もついてこれない。


 (プログラミングおたくの)みんなが嫌いなPHPが、結局のところ最も使われているWebサービス言語になってるのだって、あれは余計な前提知識がいらないからだ。下手すりゃターミナルすら触らなくてもプログラミングができる。


 もちろんワナビーなヤングメン達はむしろターミナルの黒い画面にある種の憧れを持つことは認める。僕だってそういう時代はあった。けど、その手前で挫折してしまったらどうにもならないわけでね。


 21世紀はプログラミングに関して無数のモジュールがあって、そのモジュールの組み合わせだとか使い方だとかを考えてプログラミングする方が圧倒的に多い。今どき誰がlistenしてbindするかっての。C言語でWebサーバーごと作ってた15年前とは圧倒的に時代が違う。


 つまり今のプログラミング環境は、既にもうとっくの昔に「古き良き」時代ではなくなっている。

 まあそうしたものを量子コンピュータ業界に敬意を示して、あえて「古典的プログラミング手法」と呼ぶことにしようか。


 そうした古典的プログラミング手法に比べると、昨今のフレームワーク全盛や、LL全盛は、もうそもそもプログラミングというものの定義そのものが根底から裏返ってる。


 たとえば関数プログラミングはもはや古典的プログラミングとは対局に位置する。

 これはもはやLISP系やFORTRAN系といった二元論には還元できないほど、もう完全に別次元のものになってる。


 Scratchは良く出来ているが、あれは古典的プログラミング手法の教育ツールであって、実用的な道具ではない。何度も言ってきたけれども。


 でもMOONBlockはそれとは違うのだということを証明するためには、MOONBlock自体をImproveするしかない。


 要するにMOONBlockを、より実用的なものをプログラミングできるツールとして進化させるということである。


 MOONBlockにおけるモジュールとは要するにキットだから、このキットをいかに充実させていくか、いけるか、ということにも掛かっている。そのためにはまず標準キットの見直し、それとプラグインのためのアーキテクチャ、みたいなものを真剣に再定義する必要がある。いままでMOONBlockというのはどちらかというと副産物みたいなものだったからね。


 今年はこれを曲がりなりにもきちんとしたプロジェクトにしていく。ビジネスにも繋げていく。

 最終的にはenchant.jsそのものよりも成功するようなものに育てて行く。


 たぶんMOONBlockでできることはもっと幅広い。

 まだみんながその潜在的な可能性に気づいてないだけだと僕は思う。

 

 そういうわけでプロマガの方もひとつよろしくお願いします