Processing
| Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden.
| |
|---|---|
| colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | | |
| [[Hilfe:Cache|Fehler beim Thumbnail-Erstellen]]: Screenshot der Processing-IDE | |
| Basisdaten
| |
| Maintainer | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Entwickler | Ben Fry and Casey Reas |
| Erscheinungsjahr | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Aktuelle Version | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.) |
| Aktuelle Vorabversion | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.) |
| Betriebssystem | plattformunabhängig |
| Programmiersprache | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Kategorie | Programmiersprache |
| Lizenz | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden. | |
Processing ist eine objektorientierte, stark typisierte Programmiersprache mit zugehöriger integrierter Entwicklungsumgebung. Die Programmiersprache ist auf die Einsatzbereiche Grafik, Simulation und Animation spezialisiert. Processing wird in einem quelloffenen Projekt entwickelt. Processing hat den Charakter einer stark vereinfachten Version der Programmiersprache Java, ermöglicht es, Interaktionen und visuelle Elemente zu programmieren und richtet sich vorwiegend an Gestalter, Künstler und Programmieranfänger.<ref name=":0">Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Die Klassenbibliotheken der Programmiersprache zielen vor allem auf das Einsatzgebiet von Processing ab und berücksichtigen die Themen Video, Grafik, Grafikformate, Sound, Animation, Typographie, 3D, Simulation, Datenzugriff und -transfer, sowie Netzwerkprotokolle.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Darüber hinaus wurde Processing auf verschiedene andere Programmiersprachen und Plattformen übertragen.
Geschichte[Bearbeiten]
Ein Vorläufer von Processing ist das Projekt Design by Numbers, welches von der Arbeitsgruppe von John Maeda am Massachusetts Institute of Technology entwickelt wurde.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Processing wurde von Maedas Studenten Ben Fry und Casey Reas (heute UCLA Professor für Design Media Arts) initiiert. Im August 2001 wurde die erste Alpha-Version veröffentlicht<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>, damals unter Verwendung von Leetspeak mit dem Namen proce55ing, da die Domäne processing.org nicht verfügbar war.<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Processing.org, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2012-04-28 (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Im Jahr 2005 wurde Processing mit einer Goldenen Nica des Prix Ars Electronica in der Kategorie Net Vision/Net Excellence ausgezeichnet.<ref name="AECArchiv5405">Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Ben Fry wurde 2011 mit dem National Design Award des Cooper Hewitt, Smithsonian Design Museum unter Verweis auf seine Arbeit an Processing ausgezeichnet.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Die Koordination der Weiterentwicklung wurde 2012 an die hierfür gegründete Processing Foundation überführt.<ref name=":0" />
Versionen[Bearbeiten]
| Version | Datum | Anmerkung |
|---|---|---|
| 1.0 | November 2008 | Erste bedeutende Beta-Version |
| 1.5 | April 2011 | Vereinfachte Entwicklungsumgebung für Android-Geräte |
| 2.0 | September 2012 | Große Überarbeitung der gesamten Sprache |
| 2.1 | Oktober 2013 | u. a. Java 7 in allen Plattformen, Einbettung der JRE in exportierten Anwendungen |
| 3.0 | September 2015 | Große Überarbeitung (u. A. Rendering, Editor, Interface) |
| 4.0 | August 2022 | u. a. Java 17, ein Video-Editor und Stabilitätsverbesserungen<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> |
Processing Foundation[Bearbeiten]
Die 2012 gegründete Processing Foundation entwickelt Processing und damit zusammenhängende Projekte weiter.<ref name=":0" />
Mit p5.js wurde eine Erweiterung für JavaScript entwickelt, welche die Prinzipien und Funktionen von Processing mit Webtechnologien umsetzt.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Es hat Processing.js abgelöst, welches eine vom jQuery-Entwickler John Resig verfasste JavaScript-Portierung von Processing war. Es ist auch als iOS-App verfügbar.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Processing.py ist ein Wrapper für die Java-Version, der eine Programmierung in Python erlaubt.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Offiziell Unterstützt werden darüber hinaus Versionen für Android<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> und Raspberry Pi<ref>Maks Surguy: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>, welche zusätzlich einen Zugriff auf die jeweilige Hardware ermöglichen.
Hardwareprogrammierung[Bearbeiten]
Aus Processing hat sich das Projekt Wiring entwickelt. Es benutzt die Processing Entwicklungsumgebung gemeinsam mit einer vereinfachten Version von C++, um Künstlern die Programmierung von Mikrokontrollern nahezubringen.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Weiterentwicklungen von Wiring sind Arduino und Energia, die diese jeweils auf weitere Mikrocontroller übertragen haben.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Energia ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Mit diesen sind auch interaktive Projekte mit Sensoren und Aktoren möglich.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Entwicklungsumgebung[Bearbeiten]
Processing kombiniert die Programmiersprache mit einer integrierten Entwicklungsumgebung, die speziell für Menschen entwickelt wurde, die in den Bereichen visuelle Kunst, Design und Elektronik arbeiten. Sie wurde entwickelt, um das Schreiben von Code zugänglicher und benutzerfreundlicher zu gestalten.<ref name=":0" />
Die Processing IDE kann für eine Vielzahl von Projekten verwendet werden. Sie ist besonders nützlich für die Erstellung von interaktiven Grafiken, Animationen und Spielen. Die Sprache bietet eine einfache Syntax und eine Vielzahl von Funktionen, die das Erstellen von visuellen Projekten erleichtern. In den Editor ist direkt eine Vorschau integriert, in der zwei- und dreidimensionale Grafiken angezeigt werden können.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Verwendung[Bearbeiten]
Ein Beispiel anhand eines Hallo-Welt-Programms:
<syntaxhighlight lang="java">
println("Hello World!");
</syntaxhighlight>
Dieses Programm produziert keinen Fehler, aber auch keinen sichtbaren Text. Der Text wird lediglich in der Konsole von Processing ausgegeben. Will man den Text im Ausgabefenster sichtbar machen, muss man die text()-Methode verwenden:
<syntaxhighlight lang="java">
text("Hello World!", 0, 10);
</syntaxhighlight>
Zwei häufig verwendete Methoden in Processing sind die setup()- und die draw()-Methode. Setup wird verwendet, um die Zeichenfläche zu generieren und Startparameter festzulegen. Die Draw()-Methode wird durchgehend wiederholt und kann durch die Einstellung der Framerate in der Setup()-Methode geändert werden.
<syntaxhighlight lang="java">
//Zeichenfläche vorbereiten
void setup(){
size(500,500);
}
void draw(){
text("Hello World!", 0, 10);
//Kreise an zufälligen Positionen zeichnen ellipse (random(50, 200), random(50, 200), 30, 30); }
</syntaxhighlight>
Beispiele[Bearbeiten]
-
Einfache Zeichnung mit Processing
-
Mit Processing zufällig generierte Streifen
-
Mandelbrotmenge. Der Quellcode ist auf dem Commons-Eintrag zu finden
Siehe auch[Bearbeiten]
Literatur[Bearbeiten]
- Hartmut Bohnacker, Benedikt Groß, Julia Laub, Claudius Lazzeroni: Generative Gestaltung. Entwerfen | Programmieren | Visualisieren – mit Processing. Hermann Schmidt Verlag, Mainz 2009, ISBN 3-87439-759-9.
- Erik Bartmann: Processing. O’Reilly Basics. O’Reilly, Köln 2010, ISBN 3-89721-997-2.
Weblinks[Bearbeiten]
Vorlage:Wikidata-Registrierung
- Offizielle Website
- p5.js, offizielle JavaScript-Portierung von Processing
- propane, inoffizielle Ruby-Version
- Quil, ehemals Clj-Processing, inoffizielle Umsetzung in Clojure, einem Lisp-Dialekt auf der Java-Plattform
- generative-gestaltung.de Website zu H. Bohnacker, B. Groß, J. Laub, C. Lazzeroni: Generative Gestaltung, mit Quellcode und Beispielen
- openprocessing.org, Galerie mit verschiedenen Beispielen in p5.js
- deutschsprachiges Processing-Skript und Lehrmittel
- deutschsprachiges Vorlesungsskript mit Videos und Übungen
- deutschsprachiges Processing-Tutorial
Einzelnachweise[Bearbeiten]
<references />