Verarbeitung (Programmiersprache) - Processing (programming language)

wird bearbeitet
Verarbeitungslogo
Paradigma Objektorientierten
Entworfen von Casey Reas , Ben Fry
Erstmals erschienen 2001 ; vor 20 Jahren ( 2001 )
Stabile Version
4.0b1 / 9. August 2021 ; Vor 2 Monaten ( 2021-08-09 )
Lizenz GPL , LGPL
Dateinamenerweiterungen .pde
Webseite Verarbeitung .org

Processing ist eine kostenlose grafische Bibliothek und integrierte Entwicklungsumgebung (IDE), die für die elektronische Kunst, neue Medienkunst und visuelle Design- Communitys entwickelt wurde, um Nicht-Programmierern die Grundlagen der Computerprogrammierung in einem visuellen Kontext zu vermitteln.

Die Verarbeitung verwendet die Sprache Java mit zusätzlichen Vereinfachungen wie zusätzlichen Klassen und mathematischen Alias-Funktionen und -Operationen. Es bietet auch eine grafische Benutzeroberfläche zur Vereinfachung der Kompilierungs- und Ausführungsphase.

Die Verarbeitungssprache und die IDE waren der Vorläufer anderer Projekte wie Arduino , Wiring und p5.js.

Geschichte

Das Projekt wurde 2001 von Casey Reas und Ben Fry initiiert , die beide zuvor der Aesthetics and Computation Group am MIT Media Lab angehörten . Im Jahr 2012 gründeten sie zusammen mit Daniel Shiffman , der als dritter Projektleiter einstieg , die Processing Foundation . Johanna Hedva trat der Stiftung 2014 als Direktorin der Anwaltschaft bei.

Ursprünglich hatte Processing die URL proce55ing.net, da die Processing- Domain übernommen wurde. Schließlich erwarben Reas und Fry die Domain processing.org. Obwohl der Name eine Kombination aus Buchstaben und Zahlen hatte, war er dennoch ausgeprägte Verarbeitung . Sie ziehen es nicht vor, dass die Umgebung als Proce55ing bezeichnet wird . Trotz der Änderung des Domainnamens verwendet Processing den Begriff p5 immer noch manchmal als verkürzten Namen ( p5 wird speziell verwendet, nicht p55 ), zum Beispiel ist p5.js ein Hinweis darauf.

Im Jahr 2012 wurde die Processing Foundation gegründet und erhielt den gemeinnützigen Status 501(c)(3), um die Community rund um die Tools und Ideen zu unterstützen, die mit dem Processing Project begannen. Die Stiftung ermutigt Menschen auf der ganzen Welt, sich jährlich zu lokalen Veranstaltungen namens Processing Community Day zu treffen .

Merkmale

IDE verarbeiten
Verarbeitungslogo
Verarbeitung 4.0b1 Screenshot.png
Screenshot der integrierten Entwicklungsumgebung von Processing.
Stabile Version
3.5.4 / 17. Januar 2020 ; vor 20 Monaten ( 2020-01-17 )
Repository
Geschrieben in Java , GLSL , JavaScript
Betriebssystem Plattformübergreifend
Typ Integrierte Entwicklungsumgebung
Webseite Verarbeitung .org

Die Verarbeitung umfasst ein Skizzenbuch , eine minimale Alternative zu einer integrierten Entwicklungsumgebung (IDE) zum Organisieren von Projekten.

Jede Processing-Skizze ist eigentlich eine Unterklasse der PApplet Java-Klasse (früher eine Unterklasse von Javas eingebautem Applet), die die meisten Funktionen der Processing-Sprache implementiert.

Bei der Programmierung in Processing werden alle zusätzlich definierten Klassen als innere Klassen behandelt , wenn der Code vor dem Kompilieren in reines Java übersetzt wird. Dies bedeutet, dass die Verwendung statischer Variablen und Methoden in Klassen verboten ist, es sei denn, Processing wird explizit angewiesen, im reinen Java-Modus zu codieren.

Die Verarbeitung ermöglicht es Benutzern auch, ihre eigenen Klassen innerhalb der PApplet-Skizze zu erstellen. Dies ermöglicht komplexe Datentypen , die eine beliebige Anzahl von Argumenten enthalten können, und vermeidet die Einschränkungen der ausschließlichen Verwendung von Standarddatentypen wie: int (integer), char (Zeichen), float (reelle Zahl) und color (RGB, RGBA , hex .). ).

Beispiele

Die einfachste mögliche Version eines "Hello World"-Programms in Processing ist:

// This prints "Hello World." to the IDE console.
println("Hello World.");

Aufgrund der stärker visuell orientierten Natur von Processing ist der folgende Code jedoch ein besseres Beispiel für das Erscheinungsbild der Sprache.

// Hello mouse.
void setup() {
  size(400, 400);
  stroke(255);
  background(192, 64, 0);
}

void draw() {
  line(150, 25, mouseX, mouseY);
}

Auszeichnungen

2005 gewannen Reas und Fry für ihre Arbeit zum Thema Processing den Golden Nica Award der Ars Electronica in der Kategorie Net Vision.

Ben Fry gewann 2011 den National Design Award des Smithsonian Cooper-Hewitt National Design Museum in der Kategorie Interaktionsdesign. In der Verleihungserklärung heißt es:

"Mit einem Hintergrund in Grafikdesign und Informatik verfolgt Ben Fry eine langjährige Faszination für die Visualisierung von Daten. Als Principal von Fathom Information Design in Boston entwickelt Fry Software, Druckwerke, Installationen und Bücher, die Themen aus den vom menschlichen Genom über Baseballgehälter bis hin zur Evolution von Textdokumenten. Gemeinsam mit Casey Reas gründete er das Processing Project, eine Open-Source-Programmierumgebung für den Unterricht in Computerdesign und das Skizzieren von interaktiver Mediensoftware, die Künstlern und Designern zugängliche Arbeitsmöglichkeiten bietet mit Code und ermutigt Ingenieure und Informatiker, über Designkonzepte nachzudenken."

Lizenz

Die Kernbibliotheken von Processing, der Code, der in exportierten Anwendungen und Applets enthalten ist, ist unter der GNU Lesser General Public License lizenziert , die es Benutzern ermöglicht, ihren Originalcode mit einer beliebigen Lizenz freizugeben.

Die IDE ist unter der GNU General Public License lizenziert .

Ähnliche Projekte

Processing ist keine einzelne Sprache, sondern ein kunstorientierter Ansatz zum Lernen, Lehren und Herstellen von Dingen mit Code. Es gibt mehrere Varianten und verwandte Projekte:

Nach Zahlen gestalten

Die Verarbeitung basierte auf der ursprünglichen Arbeit des Projekts Design By Numbers am MIT. Es teilt viele der gleichen Ideen und ist ein direktes Kind dieses Experiments.

Verarbeitung.js

2008 portierte John Resig Processing mithilfe des Canvas-Elements zum Rendern auf JavaScript , sodass Processing in modernen Webbrowsern ohne Java-Plugin verwendet werden kann. Seitdem haben die Freie-Software- Leute, darunter Studenten des Seneca College in Toronto, das Projekt übernommen.

Processing.js wird auch verwendet, um Studenten jeden Alters an der Khan Academy durch das Erstellen von Zeichnungen und Animationen sehr einfache Programmierung zu fördern . Die Lernenden präsentieren ihre Kreationen anderen Lernenden.

p5.js

2013 erstellte Lauren McCarthy p5.js, eine native JavaScript- Alternative zu Processing.js, die von der Processing Foundation offiziell unterstützt wird.

P5Py

p5 ist eine Python-Bibliothek, die eine hohe Zeichenfunktionalität bietet, mit der Sie schnell Simulationen und interaktive Grafiken mit Python erstellen können. Es kombiniert die Kernideen von Processing – das Erlernen des Programmierens in einem visuellen Kontext – mit der Lesbarkeit von Python, um das Programmieren für Anfänger, Pädagogen und Künstler zugänglicher zu machen.

Verarbeitung.py

Python Mode for Processing oder Processing.py ist eine Python-Schnittstelle zum zugrunde liegenden Java-Toolkit. Es wurde ab 2010 hauptsächlich von Jonathan Feinberg mit Beiträgen von James Gilles und Ben Alkov entwickelt.

Verkabelung, Arduino und Fritzing

Processing hat ein weiteres Projekt hervorgebracht, Wiring , das die Processing-IDE mit einer Sammlung von Bibliotheken in der Sprache C++ verwendet, um Künstlern das Programmieren von Mikrocontrollern beizubringen . Es gibt jetzt zwei separate Hardwareprojekte, Wiring und Arduino , die die Wiring-Umgebung und -Sprache verwenden. Fritzing ist eine weitere Softwareumgebung dieser Art, die Designern und Künstlern hilft, ihre interaktiven Prototypen zu dokumentieren und den Schritt vom physischen Prototyping zum tatsächlichen Produkt zu gehen.

Mobile Verarbeitung

Ein weiteres Spin-off-Projekt, das inzwischen eingestellt wurde, ist Mobile Processing von Francis Li, das es ermöglichte, Software, die mit der Processing-Sprache und -Umgebung geschrieben wurde, auf Java-betriebenen mobilen Geräten auszuführen. Heute werden einige der gleichen Funktionen von Processing selbst bereitgestellt.

iVerarbeitung

iProcessing wurde entwickelt, um Benutzer bei der Entwicklung nativer iPhone- Anwendungen mit der Verarbeitungssprache zu unterstützen. Es ist eine Integration der Processing.js-Bibliothek und eines Javascript-Anwendungsframeworks für das iPhone.

Spde

Spde (Scala Processing Development Environment) ersetzt die reduzierte Java-Syntax und den benutzerdefinierten Präprozessor von Processing durch die Standard- Programmiersprache Scala , die auch auf der Java-Plattform läuft und einige der gleichen Einschränkungen erzwingt, z Code und unterstützende funktionale Programmierung .

JRubyArt

JRubyArt (früher ruby-processing genannt ) ist ein Wrapper für Processing in der Sprache Ruby , der auf der Java-Plattform mit JRuby läuft.

Quil

Quil ist eine interaktive Animationsbibliothek für Clojure und ClojureScript basierend auf Processing.

Medien

Das Musikvideo zu House of Cards von Radiohead entstand unter Verwendung von Processing kombiniert mit Daten aus der Lidar- Technologie sowie mit Acrylglas und Spiegeln , um Szenen zu schaffen, in denen das Bild verzerrt erscheint, teilweise verschwindet oder wie vom Wind getragen zerfällt. Processing wurde auch verwendet, um Illustrationen für Publikationen wie Nature und die New York Times zu erstellen , Skulpturen für Galerieausstellungen auszugeben, riesige Videowände zu steuern und Pullover zu stricken.

Siehe auch

Fußnoten

Verweise

Externe Links