読者です 読者をやめる 読者になる 読者になる

SKY NOTE

skymouseが思った事考えた事を記したもの

JavaScriptを吐き出すビジュアルプログラミングツール「NoFlo」

未来

オープンソースのビジュアルプログラミングツール「NoFlo」

では、どういうプログラミング環境なのか動画があったので、それを見てみる。

  • NoFlo Development Environment (6m09s)

この動画を見れば、フローチャートでプログラミングが出来る環境であることが分かる。ビジュアルプログラミング環境は、何度も失敗してきた。理由は、プログラミング環境の価格が高価であったり、対応プロラットフォームがメジャーでなかったり、それ故に普及が進まず、途中でサポートが打ち切られたりした。また、パフォーマンスがCなどの言語に比べて劣り、開発効率よりいもパフォーマンスを選択した場合、選択肢に入らない。ここで過去のビジュアルプログラミング環境が普及が進まなかった原因とNoFloを比べてみる。

1.対応プラットフォームがマイナー(Prographは初期はMacだけだった)

  • →NoFloはJavaScriptなので、ほとんど全てのプラットフォームで動作する。今後はJavaJavaJavaScriptは違う)やObjective Cにも対応したいので、とにかく目立ちたいのだという。つまり、iOSAndroidにも対応したいという。

2.パフォーマンスが低い(今後のサポート次第)

  • →NoFloは、JavaScriptなのでCよりも遅い、しかし、OpenGLOpenCLなどの外部APIを使えば、その部分のタスクは、通常コード並みに高速化されるだろうし、NoFloが吐き出すコードがasm.js規格に沿っていれば、パフォーマンスの劣化は50%程度に収まるであろう。それに今のPC自体が高速で、大抵のタスクが、かなり快適に動くので、実用性はビジュアルプログラミング環境が出てきた1990年台よりもはるかに良くなっている。

3.サポート打ち切り

  • →NoFloはオープンソースなので、誰でも開発に参加できる為、その開発の有用性が認められれば、サポートは継続する。昔のように開発メーカーの主要プログラマーの死去などで開発が頓挫するというリスクは、オープンソースプログラムによって分散されている。

4.ライブラリのサポートが貧弱

  • →この部分が、今後の課題といえるだろう。普及がどの程度かで決まるので、卵と鶏の関係といえる。
  • NoFloのプレゼン(英語:26分30秒)

自分は、ライブラリなどを使おうとすると、なぜか、ちゃんと動かせないので一からプログラミングを書くことが多く、NoFloの欠点は気にならない。JavaScriptがVisualでコーディングできるという方がメリットがあるので、とても期待している。JavaScriptを吐き出せばね。まぁいいでしょみたいな感じで作れれば、それでいい。そうやって、普及していけば、ライブラリも揃ってきて、本格的なプログラミングツールに脱皮みたいな感じが、今後、NoFloが目指したい方向なんだと思う。パフォーマンスの問題については、asm.jsのデモを見ると、JavaScriptで全然問題ないと思う。要するに外部APIや最適化された言語規格を採用すれば、今のハードだと、かなり実用的なスピードが出る。だから、パフォーマンスに関しては、自分は特に気にしていない。特に、このasm.jsのデモの映像を見ると、javaScriptで問題ないと思ってしまう。