www.aec.at  
Ars Electronica 2003
Festival-Website 2003
Back to:
Festival 1979-2007
 

 

Processing


'Casey Reas Casey Reas / 'Benjamin Fry Benjamin Fry

Einleitung
Das Projekt Processing vermittelt Anfängern grundlegende Programmierkenntnisse und richtet sich an hybride Künstler / Designer / Programmierer. Das Projekt umfasst eine Programmiersprache, eine Entwicklungsumgebung und die didaktische Aufbereitung der Inhalte in einer einheitlichen Lernumgebung. Processing vermittelt grundlegende Programmierkenntnisse im Bereich elektronische Kunst und macht Programmierer mit Schlüsselkonzepten der elektronischen Kunst vertraut. Im Unterschied zu anderen bekannten Programmierumgebungen wie Flash und Director ist Processing eine Java-Erweiterung und unterstützt viele Java-Strukturen, jedoch mit einer vereinfachten Syntax. Die Applikation wird lokal auf dem Rechner des Benutzers ausgeführt und exportiert Programme zu Java-Applets, sodass ein Zugriff über das Internet möglich ist. Das Programm ist kein kommerzielles Programmierwerkzeug, sondern wurde speziell für Lernzwecke und zur Prototypenentwicklung geschrieben.
Das Konzept
Grafische Benutzerinterfaces sind seit fast zwanzig Jahren Standard in der Computertechnologie, grundlegende Programmierkenntnisse werden jedoch weiterhin primär über Kommandozeilen-Interfaces vermittelt. Vorrangig wird Wissen über Textausgabe am Bildschirm bzw. über GUIs und erst später, wenn überhaupt, über Computergrafiken vermittelt. Grundlegende Programmierkenntnisse können so vermittelt werden, dass Grafiken und interaktive Elemente in den Vordergrund treten. Die Freigabe von im Unterricht erstellten Übungsbeispielen fördert die Entwicklung einer globalen Lerngemeinschaft und erhöht die Motivation der Lernenden. Die Verwendung der „View Source“-Funktion ermöglicht der Internetgemeinschaft voneinander zu lernen.

Selbst Programmierer, die Erfahrung mit Werkzeugen wie Flash und Director haben, müssen erkennen, dass ihre Grundkenntnisse in den jeweiligen Skriptsprachen für komplexere Programme wie Java oder C++ nicht ausreichen. Entwickler, die den Umstieg auf diese Programme versuchen, empfinden die Übergangsphase vermutlich als frustrierend, da sie sich zunächst mit den Eigenheiten der Entwicklung einer spezifischen Grafikanwendung für ihre Rechnerumgebung vertraut machen müssen – eine Aufgabe, die oft unzählige Seiten Code erfordert, bevor auch nur die einfachsten Objekte am Bildschirm angezeigt werden können.

Das Grundgedanke von Processing ist die Erzeugung einer spezifischen Textprogrammiersprache zur Generierung von responsiven grafischen Elementen anstatt einer visuellen Programmiersprache. Diese Sprache ermöglicht die Entwicklung von komplexen visuellen und responiven Strukturen und bietet ein ausgewogenes Gleichgewicht zwischen den verfügbaren Funktionen und der Benutzerfreundlichkeit. Zahlreiche Techniken zur Grafikerstellung und Interaktionsmöglichkeiten können vermittelt werden, darunter u. a. Vektor-/Rasterzeichnung, 2D/3D-Transformationen, Bildverarbeitung, Farbmodelle, Ereignisse, Netzwerkkommunikation, Informationsvisualisierung, etc. Processing verlagert den Schwerpunkt des Programmierprozesses von technischen Details wie Threading und Double-Buffering hin zur Kommunikation.
Programmiersprache und Programmierumgebung
Processing ist eine Java-Umgebung, die in ihrer eigenen Syntax geschriebene Programme in Java-Code umwandelt und dann als Applet in einen Java 1.1.-Bytecode kompiliert. Das Programm verfügt auch über eine eigens angepasste 2D/3D-Engine mit PostScript- und OpenGL-Funktionen. Die Software kann kostenlos benutzt werden; der Quellcode ist unter Sourceforge.net erhältlich. Das Programm läuft auf Windows, Mac OS X, Mac OS 9 und Linux. Zurzeit ist eine Alpha-Version verfügbar, im Rahmen der Ars Electronica wird eine öffentlich verfügbare Beta-Version gelauncht. Processing Version 1.0 konzentriert sich auf die Vermittlung von Grundkenntnissen im Bereich interaktive vernetzte Computergrafiken.

Processing bietet drei verschiedene Programmiermodi, wobei Modus 2 und 3 komplexer als Modus 1 sind. Im Grundmodus können über einzeilige Befehle einfache Objekte am Bildschirm angezeigt werden. Im komplexesten Modus (erweiterter Modus) kann in der Processing-Umgebung Java-Code geschrieben werden. Der Zwischenmodus unterstützt die Entwicklung von dynamischer Software in einer hybriden prozeduralen/objektorientierten Struktur. Ein ausgewogenes Gleichgewicht zwischen den einzelnen Funktion und der Klarheit der Strukturen wird angestrebt; dies fördert den Experimentierprozess und minimiert die Lernkurve.

Die mittels Processing erworbenen Kenntnisse ermöglichen die Erlernung von Sprachen und APIs, die für unterschiedliche Kontexte, u. a. Web-Authoring (ActionScript), Networking und Kommunikationsanwendungen (Java), Mikrokontroller-Anwendungen (C) und Computergrafiken (OpenGL), anwendbar sind. Processing basiert auf Java, sodass die erworbenen Programmierkenntnisse zur angemessenen Zeit direkt auf diese komplexeren Umgebungen angewandt werden können.
Vernetztes Lernen
Die Processing-Website bietet zahlreiche Anwendungsbeispiele und eine vollständige Referenzliste. Hunderte von Studenten, Pädagogen und Praktikern auf fünf Kontinenten benutzen die Software. Seit Juni 2003 haben mehr als 1.000 Personen das Pre-Release bestellt. Ein Online-Diskussionsforum bietet eine Plattform zur Erörterung von individuellen Programmen und Programmweiterentwicklungen. Die Software wird auch an verschiedenen Universitäten und in Einrichtungen der folgenden Städte verwendet: Boston, New York, San Francisco, London, Paris, Oslo, Basel, Brüssel, Berlin, Bogotà (Kolumbien), Ivrea (Italien), Manila, Nagoya und Tokio.

Aus dem Amerikanischen von Sonja Pöllabauer