p5jsは、デザイナーやアートティストのために作られたプログラミング開発ソフト「Processing」を、JavaScriptでプログラムできるようにしたものです。ウェブと互換性が高く、オープンソースでフリーであることも大きな特徴です。
p5jsの元となる「Processing」に出会ったときの印象をメモしておきます。
学生時代(1995〜1999年)に、プログラミングの参考書を買ったことがあります。
そこでは最初の1歩として「Hello world」という文字が出ます。そして次の例題もいろんな計算例をこなすものの、ひたすら文字しか表示しませんでした。
当時はプログラムの教則本といえばこれが主流でした。
ベータ版の「Processing」
そんな中、2005年前後に「Processing」が出てきて、美大の授業を担当していた頃、いろいろな授業で使われはじめました。まだ開発中でしたがダウンロード可能で、だんだん機能が増えていくことに、学生と一緒にワクワクしたのを覚えてます。
「画像を動かしたい」「音を鳴らしたい」というような興味やアイデアを、プログラミングで表現しやすくなりました。
Macromedia Director 8 Shockwave Studio
Processing以前にも有料ソフトで表現はできましたが、自分も周囲のアーティストもその「機能制限=表現の制限」となることに悩みながら、使っていたように思います。その結果、似たコンテンツが増えていって「やったもの勝ち」のような文化になった時期もありました。
2021年の今振り返ると、作品そのものというより、機材やソフトが評価されていたのかもしれません。誰かの手のひらで踊らされていたなぁと感じます。
最新の「Processing3」
Processingは、基本から学ぶので使えるようになるまで時間はかかりますが、細部の表現にこだわることができました。
またオープンソースという点で自分で拡張することも可能で、それがデザインやアートの世界に広まった大きな理由のひとつかと思います。
そして、そのProcessingがWEBブラウザでも動くようになり、さらにはブラウザでプログラミングすることができるようになりました。
それがp5jsです。
そんなProcessingの難点を挙げるなら、Java言語を使っているため、動作が重いとかサイズが大きいとか、もっさりしたイメージがあります。
※自分の周囲には、もっと本格的にプログラミングできる「openFrameworks」を使う人が多いのですが、最近ではオブジェクトを線でむすぶ「Touch Designer」に移ってきているように思います。これはシンプルなのに本格的に開発できるソフトで、また時代が戻ってきたような印象です。