はんざき技研

プログラミングや3DCGの記録

p5.jsをはじめて二か月経った感想

これまでのプログラミング経験

 経験によっても感想が変わってくると思うので、まず自分のプログラミング経験をなぞってみようと思う。

  • 高校の授業でC#を扱っていた。
  • ワードプレスCSSを一週間くらいいじった。
  • Pythonを勉強しようとして環境構築まではした。

ということで経験としては全くの0ではないがほぼ素人。
授業でやったint voidとかprintfとか書くのは知っているくらい。

興味をもったきっかけ

 そもそもなんでほぼ経験がなかった自分がp5.jsでプログラミングアートをはじめたかの話。
 もう何年も前になるが本を読んでいるときにフラクタル図形セルオートマトンについて記されているのを読んだ。
 複雑系と呼ばれる学問に通ずるそれらの成果は視覚的な面白さと同時に好奇心を強くくすぐるものがあった。
 コンピュータを使って表現できるということでもしかしたら自分のPCでも?なんて考えが頭によぎったのを覚えている。
 ただプログラミングをはじめるハードルの高さや、適切な言語を知る機会が得られなかったのでふわっとした知識でプログラミングを勉強しようとして数度挫折していた。
 そんなところにp5.jsという手軽にはじめられるライブラリがあると知ったのでやらない理由はなかった。
 感覚としても視覚と言語に対する感性が半々くらいである。という自己認識もあったので多分向いていたのだろう。

webエディターが神

 プログラミングをする上での最初の障壁は環境構築というのはよく言われていることだ。
 しかしp5.jsはJavascriptのライブラリなのでウェブエディターで扱える。慣れないものを調べながら導入する必要もなくてとかくハードルが低いのはありがたい。
 はじめに触る関数も図形描画からはじまるので単に文字列や数を表示するよりも楽しいし、引数三つ書くだけで円を描けるのはそれまでにない経験だった。

数学を楽しみながら勉強できる

 数学はずっと苦手意識しかなかったが視覚ベースで数式を扱うので興味が持ちやすい。
 これなんに使うの?みたいにならないし、まさか自分から数学を勉強する日がくるとは思わなかった。
 三角関数からはじめ、曲線や図形を描くための数式を理解するために極座標がどーたらネイピア数がどーたらとやっている。
 歴史なんかを交えながら勉強していると結構面白い。
 プログラム上で扱う数式は数学で習うものより扱いやすい。数学は記号が多すぎてどの順で処理するかも分からなくなるけどプログラムでは左から順に読めば大体分かるので助かる。
 一度正しいものを組んで関数化してしまえば計算ミスが起こることもない。これが一番いい数学の勉強方法な気がしている。

入りやすいが奥は深い

 p5.jsや移植元のprocessingはよく「初心者に向いている」と表現されているのを目にする。
 初心者向きという言葉はポジティブではあるが、反面で底が浅そうにも聞こえる。本格的になにかを勉強したいという熱意があるとかえって避けてしまいたくなる。
 二か月間触った程度でなにかを判断するのもよくないかもしれないが、底が浅いとは全く感じていないしむしろ「極める」なんてことは有り得ない深い沼に足を踏み入れたように思う。
 「初心者向き」という表現はあくまではじめやすいという意味で、2Dプログラミングアートという用途に限れば非常に実用的だしこれ以上のものはそうそうないのではないか。

総括:はじめてよかった!

 今感じているのは自分のこれまでの興味がp5.jsによって集約的に実現できているということ。p5.js(Processing)は神!