Java
Python
processing
プログラミング教育
プログラミング初心者

Python始めたい人にProcessingが便利な5つの理由

はじめに

プログラミング初心者でも簡単に学べるJavaベースのツールとして有名なProcessingですが、Pythonを始めたい人にとっても、かなり便利なツールであることが分かったのでその理由をまとめました。

Processingが便利な理由

❶環境構築が楽

もともとProcessingは、Javaをベースとした、ほんの少しのコードでビジュアル表現を可能にするツールです。そのため、インストールもかなり簡単になっています。今回は通常のProcessingインストール後に、PythonのIDEをインストールするだけです。

Processingのダウンロードはこちらから(Windows Macどちらも使えます)
https://processing.org/download/

Pythonモードのインストール(こちらのリンクが画像付きで分かりやすいです)
https://pycarnival.com/processingpy1/

❷ビジュアライズが簡単

processing2.gif

Pythonの基本的なループ処理、クラスの作り方を学ぶために、それぞれがどのような動きをするかビジュアライズできると便利ですが、Processingは描画に特化しているので繰り返しがどう処理に反映されるかをみるのに便利です。

❸キーマウス入力などの扱いが簡単

pythonでキー入力やマウス入力を扱うにはopencvを使うことが多いですが、
cv2.waitKeyは反応が悪かったり、マウスコールバックの概念をいきなり説明するのは大変です。

processing1.gif

ProcessingはkeyやmouseXなどの変数があらかじめ定義されており、draw関数の外で常に更新されているため、簡単です。

❹シェーダーも実行できる

JavaでもPythonでもProcessingであればデフォルトのインストールのままGLSLシェーダーを実行できます。
processing_shader2.jpg
こちら左がJavaで書いた時のGLSL実行の短いコード、右がPythonです。
ProcessingなしでやろうとするとPyOpenGLのインストールで環境によってエラーが出たり、
おまじないコードが多かったりするので、これはとてもシンプルです。

JavaとPythonで実行する場合の方法はこちらにまとめました。
https://qiita.com/mizumasa/items/887c4e85c688a2b0d5f1

❺サンプルが標準で入っている

Pythonモードをインストールすると、左上の"ファイル"からサンプルをいくつかみることができます。

スクリーンショット 2019-01-06 16.18.49.png

残念なところ

プロトタイプツールなので求めすぎるのもあれですが、numpy, matplotlibなどは使えないため、本格的にPythonを使った開発を試そうと思うとやはり不十分です。

また、現状日本語のチュートリアルも少ないので、現実的にはPythonを使える人がPythonを教えるのに便利なツールかなとも思います。

ですが、Python特有のコードの書き方を学ぶために、グラフィック表示が簡単にできてアウトプットがやった感が分かりやすく、とにかく躓かないためのツールとしてはとても魅力的だなと思いました。

まとめ

以上、もともとのProcessingの便利な点を挙げただけではありますが、
Pythonの苦手な部分を補ってくれており、将来的な数値解析や機械学習の勉強にPythonを使い始めたい人、Processingから入ってPythonを勉強したいと思う人、両方にProcessingをオススメしたいと思います。