どもども!こんにちは今日は今年の最終営業日ですね。作業間の空きで時間ができましたので、今年最後のブログ記事でも更新しておこうかなと思います。入社してから9か月目が終わろうとしています。短い期間でしたが、刺激的なこともありましたね。それは、年を越してからの記事で紹介していこうかな~と思っています。そういえば、うちの部署ではYoutubeLiveもやっているのですが(チャンネルはこちら)、こちらでペラペラしゃべるのもありですね。雑談はこの辺にして本題に入っていきます。
今回紹介するのは、プログラミング言語「Processing」です。こちらの言語ですが、僕が学生時代にとてもお世話になった言語です。僕の人生の遍歴をざっくり紹介した記事(私がエンジニアになろうと思ったきっかけ)でも若干触れているのですが、初心者さんにとてもおすすめの言語となっています。それでは初めて行きましょうか。
Processingって何?
さてProcessingってなに?という話ですが、プログラミング言語ですね。正確には統合開発環境とプログラミング言語のセットなのですが、プログラミング言語という認識で十分です。プログラミング言語には得意とするフィールドがセットでついてくることがほとんどです(機械学習だったらPython・WEB系ならJS)。Processingはビジュアルに特化したプログラミング言語になります。
ビジュアルに特化したというとわかりづらいので、できることベースでお話していきますね。実際にはもっとできることもあると思うのですが、僕が学生時代にやっていたことだと以下の3つにまとめることができます。各項目について簡単な説明を入れておきますね。
アート作成といいましても、簡単なアートを作っていました。円の運動の方程式を使ってランダムなボールが回るアニメーションだったり、図形を組み合わせて幾何学模様を作ったりしていました。また、SVGのエクスポートができるのでロゴの作成にも取り組むことができますね。
ゲーム作成では、主にスクロール系のゲームやシューティングゲームが主でした。当たり判定などを作成して簡単なゲームを作ってましたね。ちなみに、学生時代の課題でゲーム作りが出ていたのですが、計8本ほどのゲームを作って楽しんでましたね。どれも昔のPCと共に消えましたけど..
画像処理は、ライブラリ(OpenCV)を使ってもできますし自前での実装もできます。輝度や彩度を変更したり、理論に基づいて数式による実装もできます。これも課題でありましたね。情報系の学生に混ざってゴリゴリコードで実装したのはいい思い出です。同じ学科の人からは、怖いものを見るように見られてましたね( ;∀;)。
以上の3点がProcessingを使ってできることになります。実際には3Dや音声処理などできることはまだまだあるのですが、3点程度を抑えておけばProcessingについてチョットシッテイルといっても大丈夫です。
最後にちょっとだけProcessingの歴史に触れておきます。ProcessingはJavaで作成されています。いきなりこんなことを言われてもチンプンカンプンになっちゃうかもしれないので、「ProcessingはJavaのビジュアル部分を抽出して簡単に書けるように作ってある」と認識していれば問題ないと思います。Processingで書いたコードはJavaへ変換されて実行されます。なので、実行するまでの時間がとても長いです。その分、Javaに比べてコード量も少なくお手軽に試せるので素晴らしいですよ。ちなみにP5.jsというJavaScript版のProcessingも登場していて、Processingの記法で書くことができるライブラリ?が存在します。こちらを使うことでProcessingをWEB上で動かすことも可能です。
Processingを学ぶためのリンク
さて、紹介記事は書き終わりましたね。ここで環境構築に関して書くのもありなのですが、それは技術的な話になりすぎるのでTech Blogの方で作業報告を書いていこうと思います。
Processingを学ぶことをお勧めする理由としては、世の中にサンプルが存在しまくっているという点が挙げられます。ぶっちゃけちょっと調べれば何でも出てきます。世界各地のエンジニアが作品を共有しているサイトもありますので、ここからは僕がパッと見で役に立つと思ったサイトと本を掲載しておきます。
- Processing – Proessing 学習ノート
- OpenProcessing – Creative Coding for the Curious Mind
- Processingをはじめよう – O’Reilly Japan
1番目と3番目はProcessingまったくわからない状態のときに常に開いておくと助けになります。僕も学生時代にお世話になりました。2番目は世界のエンジニアがコードと共に作品を公開しているサイトになります。コードを作成するモチベが下がったときに見てみると熱が上がるのでお勧めです。でも、あんまり見すぎると「自分にはできないな…」となっちゃうので見過ぎは注意で行きましょう。一歩ずつ進んでいきましょう。
終わりに
Processingがすごくできたら、デザイナー系の業務に役に立つと思います。僕はフロントエンドエンジニアなのですが、サイトのビジュアル部分に凝ろうと思えば活躍の出番があるかもしれません。意識して選定しなければ、お仕事で使用する出番はかなり少ないです。ですが、僕がプログラミングを続けているのはProcessingに出会ったからと言っても過言ではありません。寝ることを忘れてプログラムを書いていたのはとてもいい思い出です。なので、今からプログラムを始める人にはとりあえずProcessingをお勧めします(特に学生さんですね)。仕事には直結することは少ないですが、プログラミングが楽しいといった感情は獲得することができると思います。
いや~年が終わりますね。最後に滑り込みで書くことができました。最終営業日もあと1時間ですね。今年はいろいろありましたね。年明けにちゃんと書きます、とりあえずよいお年を~~~~