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.[3]

Processing

Processing Logo
Screenshot
Screenshot der Processing-IDE
Basisdaten

Entwickler Ben Fry and Casey Reas
Erscheinungsjahr 2001
Aktuelle Version 4.3[1]
(26. Juli 2023)
Betriebssystem plattformunabhängig
Programmier­sprache Java[2]
Kategorie Programmiersprache
Lizenz GNU LGPL, GNU General Public License, Version 2
processing.org

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.[4]

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.[5]

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[6], damals unter Verwendung von Leetspeak mit dem Namen proce55ing, da die Domäne processing.org nicht verfügbar war.[7]

Im Jahr 2005 wurde Processing mit einer Goldenen Nica des Prix Ars Electronica in der Kategorie Net Vision/Net Excellence ausgezeichnet.[8] Ben Fry wurde 2011 mit dem National Design Award des Cooper Hewitt, Smithsonian Design Museum unter Verweis auf seine Arbeit an Processing ausgezeichnet.[9]

Die Koordination der Weiterentwicklung wurde 2012 an die hierfür gegründete Processing Foundation überführt.[3]

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[10]

Processing Foundation

Bearbeiten

Die 2012 gegründete Processing Foundation entwickelt Processing und damit zusammenhängende Projekte weiter.[3]

Mit p5.js wurde eine Erweiterung für JavaScript entwickelt, welche die Prinzipien und Funktionen von Processing mit Webtechnologien umsetzt.[11] 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.[12]

Processing.py ist ein Wrapper für die Java-Version, der eine Programmierung in Python erlaubt.[13] Offiziell Unterstützt werden darüber hinaus Versionen für Android[14] und Raspberry Pi[15], 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.[16]

Weiterentwicklungen von Wiring sind Arduino und Energia, die diese jeweils auf weitere Mikrocontroller übertragen haben.[17] Mit diesen sind auch interaktive Projekte mit Sensoren und Aktoren möglich.[18]

Entwicklungsumgebung

Bearbeiten
 
Editor der Processing IDE mit zum Quellcode generierter Vorschau

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.[3]

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.[19]

Verwendung

Bearbeiten

Ein Beispiel anhand eines Hallo-Welt-Programms:

  println("Hello World!");

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:

  text("Hello World!", 0, 10);

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.

  //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);
  }

Beispiele

Bearbeiten

Siehe auch

Bearbeiten

Literatur

Bearbeiten
Bearbeiten
Commons: Processing – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

Bearbeiten
  1. Processing is open source and is available for macOS, Windows, and Linux. 26. Juli 2023 (abgerufen am 15. August 2023).
  2. The processing Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
  3. a b c d Overview. Abgerufen am 11. Oktober 2024 (amerikanisches Englisch).
  4. Libraries. Abgerufen am 11. Oktober 2024 (amerikanisches Englisch).
  5. Design By Numbers. Abgerufen am 11. Oktober 2024.
  6. Release Processing 4.0 · benfry/processing4. Abgerufen am 11. Oktober 2024 (englisch).
  7. Processing 1.0 Alpha. Processing.org, archiviert vom Original am 28. April 2012; abgerufen am 3. Oktober 2024 (amerikanisches Englisch).
  8. Ars Electronica Archiv. Abgerufen am 16. Juni 2015.
  9. 2011 National Design Award Winners | Cooper Hewitt, Smithsonian Design Museum. 3. September 2019, abgerufen am 11. Oktober 2024 (amerikanisches Englisch).
  10. Changes in 4.0. Abgerufen am 11. Oktober 2024 (englisch).
  11. About p5.js. Abgerufen am 11. Oktober 2024 (englisch).
  12. Processing + p5.js iCompiler for iOS. Abgerufen am 11. Oktober 2024 (englisch).
  13. Python Mode for Processing. Abgerufen am 11. Oktober 2024.
  14. Processing for Android. Abgerufen am 11. Oktober 2024.
  15. Maks Surguy: Getting Started. 20. August 2017, abgerufen am 11. Oktober 2024 (englisch).
  16. About \ Wiring. Abgerufen am 11. Oktober 2024.
  17. What is Energia and how did it get started. In: energia.nu. Energia, abgerufen am 11. Oktober 2024.
  18. Visualization with Arduino and Processing. Abgerufen am 11. Oktober 2024.
  19. Environment. Abgerufen am 11. Oktober 2024 (amerikanisches Englisch).