ProcessingProcessingのロゴ
パラダイムオブジェクト指向
登場時期2001年
設計者ケイシー・リース、ベンジャミン・フライ
最新リリース4.3[1]
Processing(プロセシング)は、ケイシー・リース(英語版)(Casey Reas)とベンジャミン・フライ(英語版)(Benjamin Fry)によるオープンソースプロジェクトであり、かつてはMITメディアラボで開発されていた。電子アートとビジュアルデザインのためのプログラミング言語であり、統合開発環境(IDE)である。アーティストによるコンテンツ制作作業のために、詳細な設定を行う関数を排除している。視覚的なフィードバックが即座に得られるため、初心者がプログラミングを学習するのに適しており、電子スケッチブックの基盤としても利用できる。Java を単純化し、グラフィック機能に特化した言語といえる。
機能Processing のIDE
Processing にはsketchbook(スケッチブック)と呼ばれる必要最小限のIDEが含まれている。
Processing でのプログラミングでは、全ての定義されたクラスは Java の内部クラスのコードとして扱われ、コンパイルされる。すなわち、クラス内の静的変数や静的メソッドは通常禁じられており、それらを使うにはユーザーが明示的に純粋Javaモードを指定しなければならない。
GPUドライバが提供するAPIが簡略化されてProcessingのAPIとして提供されているため、高度な表現を行う場合には不便に感じやすい。例えば、OpenGLで標準的にサポートされている環境マッピングが、APIとして提供されていないため、独自に実装する必要がある等である。
作成したプログラムをアプリケーションとしてエクスポートすることができる。また、processing.jsの機能を用いればネット上でコードの実行結果が見られる。 上記も正しいプログラムだが、次のようなコードの方がProcessingの雰囲気をよく表している。text("Hello World!", 20,50); ウィキメディアのSVG形式の日本地図の白地図を読み込み、Prefecturesという配列に記述された番号の県のみ塗り分けるプログラム。英語版の例のように地図データが各県ごとにnameを持っていれば県名で指定することも可能である。PShape japan;float map_scale=0.25;int square_len=512;int [] Prefectures={2,3,5,7,11,13,17,19,23,29,31,37,41,43}; // Prime numbersvoid setup() { japan=loadShape("https://upload.wikimedia.org/wikipedia/commons/5/56/Blank_map_of_Japan.svg"); size(square_len,square_len); smooth(); noLoop();}void draw() { background(color(0, 0, 255)); // blue japan.disableStyle(); japan.getChild("ground").getChild(0).scale(map_scale); fill(color(255, 255, 0)); // yellow shape(japan.getChild("ground").getChild(0), square_len * map_scale, square_len * map_scale); prefecturesColoring(japan ,Prefectures , color(255, 0, 255), map_scale); // magenta saveFrame("map output.png");}void prefecturesColoring(PShape nation, int[] prefectures, int c, float n){ for (int i=0; i < prefectures.length; i++) { PShape prefecture=nation.getChild("ground").getChild(0).getChild(prefectures[i]); prefecture.disableStyle(); // Disable the colors found in the SVG file prefecture.scale(n); fill(c); // Set our own coloring noStroke(); shape(prefecture, square_len * map_scale, square_len * map_scale); // Draw a single prefecture }} Processing から派生したプロジェクトとしてWiring(ワイアリング) 2005年、リースとフライは Processing に関する業績により、アルス・エレクトロニカのゴールデン・ニカ賞(ネットビジョン部門)を受賞した。 統合開発環境は GPL の条件で公開されている。 アプリケーションやアプレットに含まれるライブラリコードは LGPL の条件で提供、開発したプログラムは任意のライセンスで活用可能である。 もともとリースとフライは processing.org が取得されていたため proce55ing.org というドメインを用いたが、しばらくして processing.org
プログラム例
Hello Worldprintln("Hello World!");
図形を描くrect(20, 20, 100, 80);//四角形ellipse(140, 140, 40, 50);//楕円
日本地図の塗り分け
関連プロジェクト
受賞
ライセンス
名前
バージョン
2008年11月24日:初のリリースバージョンである1.0がリリース。
2013年6月:2.0がリリース。
2015年9月:3.0がリリース。
2022年8月:4.0がリリース。
関連項目
Processing.js - ブラウザ上で動かすためのJavaScriptライブラリ
openFrameworks
cinder
外部リンク
公式ウェブサイト
Processing Foundation
processing4 - GitHub
Processing Foundation (page.processing) - Facebook
Processing Foundation (@ProcessingOrg) - Medium
processingorg (@processingorg) - Instagram
processingorg (@processingorg) - X(旧Twitter)
Processing - YouTubeチャンネル
Processing Foundation - Vimeo
⇒processinghacks.com
⇒Processing Blogs
⇒processing.js
p5js.org
表
話
編
歴
Java
プラットフォーム
Java言語
JVM
Java ME (Micro)
Java SE (Standard)
Jakarta EE
Javaカード
Android SDK
オラクルのテクノロジー
Squawk
Java開発キット
OpenJDK
JVM
JavaFX
Maxine VM
プラットフォーム技術
アプレット
サーブレット
MIDlet
JSP
JSF
Web Start (JNLP)
主なサードパーティ技術
Blackdown
Eclipse
GNU Classpath
GWT
Harmony
Hibernate
IcedTea
Jazelle
Spring
Struts
TopLink
WildFly
歴史
Javaバージョン履歴
Java Community Process
サンマイクロシステムズ
自由なJavaの実装
主要なJVM言語
BeanShell
Clojure
Groovy
JRuby
Jython
Kotlin
Processing
Rhino
Scala
コミュニティ
カンファレンス
JavaOne
Devoxx
組織
Apache Software Foundation
Java Community Process
オラクル
サン・マイクロシステムズ