| Processing | |
|---|---|
| パラダイム | オブジェクト指向 |
| 設計 | ケイシー・リース、ベン・フライ |
| 初登場 | 2001年 (2001年) |
| 安定版リリース | |
| ライセンス | GPL、LGPL |
| ファイル名拡張子 | .pde |
| ウェブサイト | processing.org |
Processingは、エレクトロニックアート、ニューメディアアート、ビジュアルデザインコミュニティ向けに構築された無料のグラフィックライブラリおよび統合開発環境(IDE)です。プログラマー以外の人々に、視覚的なコンテキストで コンピュータプログラミングの基礎を教えることを目的としています
ProcessingはJavaプログラミング言語を採用しており、追加クラスやエイリアス化された数学関数・演算などの簡略化が施されています。また、コンパイルと実行段階を簡素化するグラフィカルユーザーインターフェースも提供しています。
Processing 言語と IDE は、ArduinoやWiringなどの他のプロジェクトの先駆けとなっています。
歴史
このプロジェクトは、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 | |
|---|---|
Processingの統合開発環境のスクリーンショット | |
| 安定版リリース | 4.3 / 2023年7月26日 ( 2023-07-26 ) |
| リポジトリ | |
| 言語 | Java、GLSL、JavaScript |
| オペレーティングシステム | クロスプラットフォーム |
| タイプ | 統合開発環境 |
| ウェブサイト | 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.js
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 FoundationとSeneca 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は、 NatureやThe New York Timesなどの出版物のイラストの作成、ギャラリー展示用の彫刻の出力、巨大なビデオウォールの制御、セーターの編み物にも使用されています。[ 28 ]
参照
- Cinder (C++)
- OpenFrameworks (C++)
- OpenRNDR(コトリン)
脚注
- ^ 「リリース」。GitHub 。 2024年12月19日閲覧
- ^ "People" . processingfoundation.org . 2019年10月5日時点のオリジナルよりアーカイブ。2017年4月24日閲覧。
- ^ 「Processing 1.0 _ALPHA_ - processing.org」 . processing.org . 2012年4月28日時点のオリジナルよりアーカイブ。 2017年12月24日閲覧。
- ^ 「p5」という名前の数字5はどういう意味ですか? · Issue #2443 · processing/p5.js 」。GitHub 。
- ^ケイシー・リース、ベン・フライ(2018年5月29日)「現代のプロメテウス」Medium。
- ^ 「PCD」 . Medium .
- ^アイラ・グリーンバーグ (2007年12月31日). Processing: Creative Coding and Computational Art . Apress. pp. 151–. ISBN 978-1-4302-0310-0。
- ^ジャニーン・マイヤー(2018年6月15日)。『プログラミング101:Processingプログラミング言語を用いたプログラミングの仕組みと理由』 Apress。121~122ページ。ISBN 978-1-4842-3697-0。
- ^アイラ・グリーンバーグ(2010年3月25日)『Flash開発者のためのProcessingエッセンシャルガイド』Apress、412~ページ、ISBN 978-1-4302-1980-4。
- ^ Tayste. 「Hello Mouse - OpenProcessing」 . OpenProcessing.org . 2022年3月3日閲覧
- ^メレディス・ホイ( 2017年1月3日)『点からピクセルへ:デジタル美学の系譜』ダートマス大学出版局、142-143頁。ISBN 978-1-5126-0023-0。
- ^ 「クーパー・ヒューイット国立デザイン博物館、第12回ナショナル・デザイン・アワードの受賞者とファイナリストを発表」(PDF) 。2011年8月12日時点のオリジナル(PDF)からアーカイブ。
- ^ 「P5.js — Lauren Lee McCarthy」。
- ^ “銭前葉” .
- ^ p5 , p5py, 2021-09-29 , 2021-10-12取得
- ^ Allison Parrish、Ben Fry、Casey Reas (2016年5月11日). 『Processing.py入門:ProcessingのPythonモードでインタラクティブなグラフィックを作成する』Maker Media, Incorporated. ISBN 978-1-4571-8679-0。
- ^ py5ドキュメント、hx2a、2021年9月13日、 2022年5月10日取得
- ^ 「処理、配線、Arduino(EE Tip 101) - Circuit Cellar」 2013年9月18日。
- ^ 「Android - Processing」 。 2014年8月19日時点のオリジナルよりアーカイブ。2013年6月3日閲覧。
- ^ 「iProcessingがProcessing.jsをiPhoneに搭載 - ブラウザはどうなっているのか? - CDM Create Digital Music」 2010年2月11日。2019年10月13日時点のオリジナルよりアーカイブ。 2018年7月23日閲覧。
- ^ "Spde: Spde" . Technically.us. 2011年8月2日時点のオリジナルよりアーカイブ。2013年8月20日閲覧。
- ^ 「Coderspiel / Runaway processing」 . Technically.us. 2016年11月10日時点のオリジナルよりアーカイブ。2013年8月20日閲覧。
- ^ 「Coderspiel / Flocking with Spde」 Technically.us 2013年8月20日閲覧。
- ^ "Quil: Clojure のアニメーション" .
- ^ 「Quil イントロ」。
- ^ "Sketch" . Github.com . 2025年4月25日閲覧。
- ^ Nye, Calley (2008年7月14日). 「レディオヘッド、ミュージックビデオ公開でGoogleと提携」 .ワシントン・ポスト. ISSN 0190-8286 . 2021年3月16日閲覧。
- ^ Reas, Casey; Ben Fry (2015). 『Processing入門(第2版)』サンフランシスコ、p. 183. ISBN 978-1-4571-8708-7 OCLC 905522686
{{cite book}}: CS1 メンテナンス: 場所の発行元が見つかりません (リンク)
参考文献
- Bohnacker, Hartmut; Gross, Benedikt; Laub, Julia; Lazzeroni, Claudius (2012年8月22日)、『Generative Design: Visualize, Program, and Create with Processing (第1版)』、Princeton Architectural Press、p. 472、ISBN 978-1616890773
- グラスナー、アンドリュー(2010年8月9日)、『視覚アーティストのための処理:表現力豊かな画像とインタラクティブアートの作り方』(第1版)、AKピーターズ/CRCプレス、955ページ、ISBN 978-1-56881-716-32011年4月21日時点のオリジナルよりアーカイブ
- Reas, Casey; Fry, Ben (2010年6月17日)、『Getting Started with Processing』(第1版)、Make、p. 208、ISBN 978-1-4493-7980-3
- ノーブル、ジョシュア(2009年7月21日)、『プログラミング・インタラクティビティ:Processing、Arduino、OpenFrameworksの設計者向けガイド』(第1版)、オライリーメディア、736ページ、ISBN 978-0-596-15414-1
- テルジディス、コスタス(2009年5月11日)、『Processing Languageを用いたビジュアルデザインのためのアルゴリズム』(第1版)、Wiley、384ページ、ISBN 978-0-470-37548-8
- リース、ケイシー、フライ、ベン、マエダ、ジョン(2007年9月30日)、『Processing:ビジュアルデザイナーとアーティストのためのプログラミングハンドブック(第1版)』、MITプレス、736ページ、ISBN 978-0-262-18262-12011年4月17日時点のオリジナルよりアーカイブ
- フライ、ベン(2008年1月11日)Visualizing Data(第1版)、O'Reilly Media、p.382、ISBN 978-0-596-51455-6
- グリーンバーグ、アイラ(2007年5月28日)、『Processing:クリエイティブコーディングとコンピュテーショナルアート(Foundation)』(第1版)、Friends of ED、840ページ、ISBN 978-1-59059-617-32011年1月27日時点のオリジナルよりアーカイブ
- シフマン、ダニエル(2008年8月19日)、Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction(第1版)、Morgan Kaufmann、p. 450、ISBN 978-0-12-373602-4
- ロバート・ファルディ(2011年1月4日)、『ワイヤレスセンサーネットワークの構築:ZigBee、XBee、Arduino、Processing(第1版)』O'Reilly Media、320ページ、ISBN 978-0-596-80774-0、 2019年6月12日時点のオリジナルよりアーカイブ。 2011年5月18日閲覧
- Vantomme, Jan (2012年9月20日)、Processing 2、Creative Programming Cookbook (第1版)、Packt Publishing、p. 291、ISBN 9781849517942、 2014年7月2日時点のオリジナルよりアーカイブ。 2013年2月25日閲覧
- ピアソン、マット(2011年6月1日)、ジェネレーティブアート、Processingを使用した実践ガイド(第1版)、マニング、p.240、ISBN 9781935182627、 2019年6月24日時点のオリジナルよりアーカイブ。 2013年2月25日閲覧
- Jan, Vantomme(2012年9月20日)、『Processing 2: Creative Programming Cookbook(第1版)』、Packt Publishing、306ページ、ISBN 978-1849517942、 2014年7月2日時点のオリジナルよりアーカイブ。 2013年2月25日閲覧
- Sauter, Daniel (2013年5月2日)、「Rapid Android Development: Build Rich, Sensor-Based Applications with Processing (第1版)」、Pragmatic Bookshelf、300ページ、ISBN 978-1937785062、 2019年10月13日時点のオリジナルよりアーカイブ。 2013年7月18日閲覧
- グラッドウォル、ニコラウス(2013年5月20日)、Processing 2: Creative Coding Hotshot(第1版)、Packt Publishing、p. 266、ISBN 978-1782166726、 2014年7月2日時点のオリジナルよりアーカイブ。 2013年7月18日閲覧