Processing

Processing
ライトグレーの背景に、2つの長方形と異なる青の半円弧で構成された様式化された「P」の文字が描かれています。シンプルな形状は、Processingライブラリで作成されるデザインを彷彿とさせます。
パラダイムオブジェクト指向
設計ケイシー・リースベン・フライ
初登場2001年 (2001年
安定版リリース
4.3.1 / 2024年11月12日[ 1 ] ( 2024-11-12 )
ライセンスGPLLGPL
ファイル名拡張子.pde
ウェブサイトprocessing.org

Processingは、エレクトロニックアート、ニューメディアアートビジュアルデザインコミュニティ向けに構築された無料のグラフィックライブラリおよび統合開発環境(IDE)です。プログラマー以外の人々に、視覚的なコンテキストで コンピュータプログラミングの基礎を教えることを目的としています

ProcessingはJavaプログラミング言語を採用しており、追加クラスやエイリアス化された数学関数・演算などの簡略化が施されています。また、コンパイルと実行段階を簡素化するグラフィカルユーザーインターフェースも提供しています。

Processing 言語と IDE は、ArduinoWiringなどの他のプロジェクトの先駆けとなっています。

歴史

このプロジェクトは、2001年にMITメディアラボの美学・計算グループに所属していたケイシー・リース氏ベン・フライ氏によって開始されました。2012年、彼らはダニエル・シフマン氏と共にProcessing Foundationを設立し、シフマン氏は3人目のプロジェクトリーダーとして参加しました。ヨハンナ・ヘドヴァ氏は2014年にアドボカシー・ディレクターとして財団に加わりました。[ 2 ]

当初、Processingはproce55ing.netというドメインを使用していましたが、これはprocessingドメインが既に取得されていたためです。ReasとFryは最終的にprocessing.orgというドメインを取得し、2004年にプロジェクトをそこに移しました。[ 3 ]元の名前は文字と数字の組み合わせでしたが、公式には常にprocessingと呼ばれていました。ただし、古いドメイン名を参照する際には、略語のp5が今でも時々使用されています(例:"p5.js")。[ 4 ]

2012年にProcessing Foundationが設立され、501(c)(3)非営利団体としての地位を取得しました。 [ 5 ] Processingプロジェクトから生まれたツールやアイデアを中心にコミュニティを支援しています。財団は、世界中の人々がProcessing Community Dayと呼ばれる地域イベントに毎年参加することを奨励しています。[ 6 ]

機能

Processing IDE
安定版リリース
4.3 / 2023年7月26日 ( 2023-07-26 )
リポジトリ
言語JavaGLSLJavaScript
オペレーティングシステムクロスプラットフォーム
タイプ統合開発環境
ウェブサイト processing.org

Processingには、プロジェクトを整理するための統合開発環境(IDE)の最小限の代替品であるスケッチブックが含まれています。[ 7 ]

PAppletすべてのProcessingスケッチは、実際にはJavaクラスのサブクラス(以前はJavaの組み込みアプレットのサブクラス)であり、Processing言語のほとんどの機能を実装しています。[ 8 ]

Processingでプログラミングする場合、定義されたすべての追加クラスは、コンパイル前にコードが純粋なJavaに変換されるときに内部クラスとして扱われます。 [ 9 ]つまり、 Processingが明示的に純粋なJavaモードでコーディングするように指示されない限り、クラス内の静的変数メソッドの使用は禁止されます。

Processingでは、ユーザーがPAppletスケッチ内で独自のクラスを作成することもできます。これにより、任意の数の引数を含む複雑なデータ型が可能になり、 int(整数)、char(文字)、float(実数)、カラー(RGB、RGBA 、16進数)といった標準データ型のみを使用する際の制限を回避できます。

Processingにおける「Hello World」プログラムの最も単純なバージョンは次のとおりです

// これは IDE コンソールに "Hello World." を出力します。println ( "Hello World." );

しかし、Processingは視覚的な性質がより強いため、次のコード[ 10 ]は言語のルックアンドフィールをよりよく表す例です。

// こんにちは、マウス。void setup () { size ( 400 , 400 ); stroke ( 255 ); background ( 192 , 64 , 0 ) ; }void draw () { line ( 150 , 25 , mouseX , mouseY ); }

受賞

2005年、リースとフライはProcessingの作品により、アルスエレクトロニカのネットビジョン部門でゴールデンニカ賞を受賞しました。 [ 11 ]

ベン・フライは、スミソニアン・クーパー・ヒューイット国立デザイン博物館が主催する2011年ナショナル・デザイン・アワードのインタラクションデザイン部門を受賞しました。受賞声明には次のように記されています。

グラフィックデザインとコンピュータサイエンスのバックグラウンドを持つベン・フライは、長年抱いてきたデータの視覚化への情熱を追求しています。ボストンのファソム・インフォメーション・デザインの代表として、フライはヒトゲノムから野球の年俸、テキスト文書の進化に至るまで、様々なテーマを描写・解説するソフトウェア、印刷物、インスタレーション、書籍を開発しています。また、ケイシー・リースと共に、コンピュテーショナルデザインとインタラクティブメディアソフトウェアのスケッチを教えるオープンソースプログラミング環境であるProcessing Projectを設立しました。このプロジェクトは、アーティストやデザイナーにコードを扱うためのアクセスしやすい手段を提供すると同時に、エンジニアやコンピュータサイエンティストにデザインコンセプトについて考える機会を提供しています。[ 12 ]

ライセンス

Processingのコアライブラリ、つまりエクスポートされたアプリケーションやアプレットに含まれるコードは、GNU Lesser General Public Licenseに基づいてライセンスされており、ユーザーはライセンスを選択してオリジナルコードをリリースできます

IDE はGNU General Public Licenseに基づいてライセンスされます。

数字でデザイン

Processingは、MITのDesign By Numbersプロジェクトで行われたオリジナルの作業に基づいています。多くのアイデアを共有しており、その実験から直接生まれたものです

p5.j​​s

2013年、ローレン・マッカーシーは、 Processing Foundationの公式サポートを受けた、Processing.jsのネイティブJavaScript代替であるp5.jsを作成しました。p5.jsは150万人以上のユーザーを獲得しました。 [ 13 ]

2022年4月以来、p5.jsはUSCのメディアアートの非常勤准教授であるQianqian Yeによって主導されています。[ 14 ]

ml5.js

ml5.jsは、Google Education助成金による資金とサポートを受けて、NYUのITP/IMAによって開発されたp5.jsライブラリです

Daniel Shiffman 氏は ml5 をデモンストレーションするビデオを作成しており、著名なコード貢献者でもあります。

Processing.js

Processing.jsは、既存のProcessing Javaコードをウェブ上で実行できるようにした、 廃止されたJavaScriptポートです

2008年にJohn Resigによって最初にリリースされました。その後、このプロジェクトはMozilla FoundationSeneca Collegeのパートナーシップを通じて運営され、David Humphrey、Al MacDonald、Corban Brookが主導しました。Processing.jsは、APIバージョン2.1リリースまでProcessingと同等の仕様を維持していました。

このプロジェクトは、積極的な開発が停止されてから2年後の2018年12月に中止されました。

P5Py

p5は、Pythonを使ってシミュレーションやインタラクティブアートを素早く作成するための高度な描画機能を提供するPythonライブラリです。視覚的なコンテキストでコーディングを学ぶというProcessingのコアアイデアとPythonの読みやすさを組み合わせることで、初心者、教育者、アーティストにとってプログラミングがより身近なものになります。[ 15 ]

処理.py

Processing用Pythonモード(Processing.py)は、基盤となるJavaツールキットへのPythonインターフェースです。2010年からJonathan Feinbergが中心となり、James GillesとBen Alkovの貢献を得て開発されました。[ 16 ]

py5

py5はPython 3.8以降向けのProcessingのバージョンです。Java ProcessingのjarファイルをJPypeを使用してCPythonインタープリタで利用できるようになります。JavaコードではなくPythonを使用することを除けば、Processingでできることのほぼすべてを実行できます。[ 17 ]

配線、Arduino、Fritzing

Processingは、アーティストにマイクロコントローラのプログラミング方法を教える手段として、Processing IDEとC++言語で書かれたライブラリ群を用いたWiringという別のプロジェクトを生み出しました。[ 18 ]現在、WiringとArduinoという2つの別々のハードウェアプロジェクトがあり、どちらもWiring環境と言語を使用しています。Fritzing 同様のソフトウェア環境で、デザイナーやアーティストがインタラクティブなプロトタイプを文書化し、物理的なプロトタイプから実際の製品へと移行するのを支援します。

モバイル処理

もう一つのスピンオフプロジェクト(現在は廃止)は、フランシス・リーによるモバイル処理です。これは、Processing言語と環境を使用して記述されたソフトウェアをJava搭載のモバイルデバイスで実行できるようにしました。現在では、同じ機能の一部はProcessing自体によって提供されています。[ 19 ]

iProcessing

iProcessingは、Processing言語を用いたネイティブiPhoneアプリケーションの開発を支援するために開発されました。Processing.jsライブラリとiPhone用のJavaScriptアプリケーションフレームワークを統合したものです。[ 20 ]

Spde

Spde(Scala Processing Development Environment)は、Processingの簡略化されたJava構文とカスタムプリプロセッサを、Javaプラットフォーム上で動作し、静的メソッドの禁止などの同じ制限の一部を適用しながら、より簡潔なコードを可能にし、関数型プログラミングをサポートする、既製のScalaプログラミング言語に置き換えます。[ 21 ] [ 22 ] [ 23 ]

JRubyArt

JRubyArt(旧称:ruby-processing)は、 Ruby言語のProcessingのラッパーであり、JRubyを使用してJavaプラットフォーム上で動作します

キル

キルは、ProcessingをベースにしたClojureとClojureScript用のインタラクティブアニメーションライブラリです。[ 24 ] [ 25 ]

スケッチ

スケッチはProcessingに大きく影響を受けたCommon Lispライブラリです。 [ 26 ]

メディア

レディオヘッドの「ハウス・オブ・カード」のミュージックビデオは、 ProcessingとLIDAR技術のデータを組み合わせて作成され、アクリルガラスを使用することで、画像が歪んだり、部分的に消えたり、風に運ばれるかのように崩壊したりするシーンが作成されました。[ 27 ] Processingは、 NatureThe New York Timesなどの出版物のイラストの作成、ギャラリー展示用の彫刻の出力、巨大なビデオウォールの制御、セーターの編み物にも使用されています。[ 28 ]

参照

脚注

  1. ^ 「リリース」。GitHub 2024年12月19日閲覧
  2. ^ "People" . processingfoundation.org . 2019年10月5日時点のオリジナルよりアーカイブ2017年4月24日閲覧。
  3. ^ 「Processing 1.0 _ALPHA_ - processing.org」 . processing.org . 2012年4月28日時点のオリジナルよりアーカイブ。 2017年12月24日閲覧
  4. ^ 「p5」という名前の数字5はどういう意味ですか? · Issue #2443 · processing/p5.js 。GitHub
  5. ^ケイシー・リース、ベン・フライ(2018年5月29日)「現代のプロメテウスMedium
  6. ^ 「PCD」 . Medium .
  7. ^アイラ・グリーンバーグ (2007年12月31日). Processing: Creative Coding and Computational Art . Apress. pp. 151–. ISBN 978-1-4302-0310-0
  8. ^ジャニーン・マイヤー(2018年6月15日)。『プログラミング101:Processingプログラミング言語を用いたプログラミングの仕組みと理由』 Apress。121~122ページ。ISBN 978-1-4842-3697-0
  9. ^アイラ・グリーンバーグ(2010年3月25日)『Flash開発者のためのProcessingエッセンシャルガイド』Apress、412~ページ、ISBN 978-1-4302-1980-4
  10. ^ Tayste. 「Hello Mouse - OpenProcessing」 . OpenProcessing.org . 2022年3月3日閲覧
  11. ^メレディス・ホイ 2017年1月3日)『点からピクセルへ:デジタル美学の系譜』ダートマス大学出版局、142-143頁。ISBN 978-1-5126-0023-0
  12. ^ 「クーパー・ヒューイット国立デザイン博物館、第12回ナショナル・デザイン・アワードの受賞者とファイナリストを発表」(PDF) 。2011年8月12日時点のオリジナル(PDF)からアーカイブ
  13. ^ 「P5.js — Lauren Lee McCarthy」
  14. ^ “銭前葉” .
  15. ^ p5 , p5py, 2021-09-29 , 2021-10-12取得
  16. ^ Allison Parrish、Ben Fry、Casey Reas (2016年5月11日). 『Processing.py入門:ProcessingのPythonモードでインタラクティブなグラフィックを作成する』Maker Media, Incorporated. ISBN 978-1-4571-8679-0
  17. ^ py5ドキュメント、hx2a、2021年9月13日、 2022年5月10日取得
  18. ^ 「処理、配線、Arduino(EE Tip 101) - Circuit Cellar」 2013年9月18日。
  19. ^ 「Android - Processing」 。 2014年8月19日時点のオリジナルよりアーカイブ2013年6月3日閲覧。
  20. ^ 「iProcessingがProcessing.jsをiPhoneに搭載 - ブラウザはどうなっているのか? - CDM Create Digital Music」 2010年2月11日。2019年10月13日時点のオリジナルよりアーカイブ。 2018年7月23日閲覧
  21. ^ "Spde: Spde" . Technically.us. 2011年8月2日時点のオリジナルよりアーカイブ2013年8月20日閲覧。
  22. ^ 「Coderspiel / Runaway processing」 . Technically.us. 2016年11月10日時点のオリジナルよりアーカイブ2013年8月20日閲覧。
  23. ^ 「Coderspiel / Flocking with Spde」 Technically.us 2013年8月20日閲覧
  24. ^ "Quil: Clojure のアニメーション" .
  25. ^ 「Quil イントロ」
  26. ^ "Sketch" . Github.com . 2025年4月25日閲覧。
  27. ^ Nye, Calley (2008年7月14日). 「レディオヘッド、ミュージックビデオ公開でGoogleと提携」 .ワシントン・ポスト. ISSN 0190-8286 . 2021年3月16日閲覧 
  28. ^ Reas, Casey; Ben Fry (2015). 『Processing入門(第2版)』サンフランシスコ、p. 183. ISBN 978-1-4571-8708-7 OCLC  905522686{{cite book}}: CS1 メンテナンス: 場所の発行元が見つかりません (リンク)

参考文献