/Tech

„Auch Künstler sind Coder“: Entwickler Dan Shiffman erklärt die Schönheit des Programmierens

Oliver Klatt 12.10.2015

Jeder kann programmieren. Es ist nur halb so kompliziert wie es aussieht und kann sogar Spaß machen. Die Programmiersprache Processing ist Open Source, plattformübergreifend und richtet sich an Menschen, die noch niemals zuvor eine Zeile Code geschrieben haben. Daniel Shiffman ist einer der drei Entwickler der Sprache. Zum Release von Processing 3 hat WIRED mit ihm über die Schönheit und die Notwendigkeit des Programmierens gesprochen.

Hinweis: Dieser Artikel wurde zuerst im Dezember 2015 veröffentlicht.

Erdacht wurde Processing im Jahre 2001 von zwei Studenten am Media Lab des MIT. Die Künstler Casey Reas und Benjamin Fry wollten eine eigene Programmierumgebung entwerfen, die so einsteigerfreundlich war wie Basic, gleichzeitig aber auch mit fortgeschrittenen Sprachen wie Java mithalten konnte. Seitdem hat sich Processing laufend weiterentwickelt. Medienkünstler und Designer auf der ganzen Welt (wie Abe Pazos, von dem die Illustrationen in diesem Artikel stammen) verwenden die Sprache, um ihre Ideen schnell in Code zu übersetzen und Computergemälde, Installationen und Skulpturen entstehen zu lassen.

Auch Lehrer schätzen die Programmiersprache wegen ihrer Zugänglichkeit. Einer von ihnen ist Daniel Shiffman. Als Associate Professor macht er an der Tisch School of Arts in New York seine Studenten mit den kreativen Möglichkeiten des Codens vertraut. Nachdem er zahlreiche Beispielprogramme verfasst hatte, wurde er 2012 offiziell Mitglied des Entwicklerteams von Processing.

Heute ist Shiffman die Stimme und das Gesicht der Programmiersprache. Seine Bücher und enthusiastischen Video-Tutorials haben Tausende dazu motiviert, ihre Hemmungen abzulegen und Befehle wie „popMatrix()“ oder „createShape()“ in ihre Tastaturen zu hacken. Zum Erscheinen von Processing 3 haben wir uns mit ihm über die Schönheit und die Dringlichkeit des Programmierens unterhalten.

WIRED: Viele halten Programmieren für eine trockene, langwierige Angelegenheit. Aber wenn Sie in Ihren Online-Kursen über das Coden sprechen, schäumen Sie vor Begeisterung fast über. Woher stammt Ihre Faszination für Variablen und Programmschleifen?
Daniel Shiffman: Auch mir macht es nicht immer Spaß, allein vor dem Rechner zu sitzen und zu programmieren. Aber ich rede gern mit anderen Menschen darüber. Und ich empfinde es als sehr befriedigend, eine Lösung für ein Problem zu finden, mit dem ich mich tagelang rumgeplagt habe. Meine zwei Kinder und ich puzzeln sehr gern. Das Schreiben eines Computerprogramms ist dem sehr ähnlich: Man muss einen Weg finden, alle diese Elemente zusammenzufügen und dabei sein Gehirn Dinge denken lassen, die es vorher noch nie gedacht hat. Das magische am Programmieren ist ja: Nichts ist unmöglich! Für alles gibt es eine Lösung. Diese Grundhaltung gefällt mir sehr. Auch wenn es mir vielleicht nicht immer gelingt, sie eins zu eins auf mein eigenes Leben zu übertragen.

WIRED: Auch wenn man mit der Mathematik auf Kriegsfuß steht, fällt der Einstieg in Processing erstaunlich leicht. Woran liegt das?
Shiffman: Unsere Art, mit der realen Welt umzugehen, ist dem Programmieren gar nicht so unähnlich. Als Grafiker kann man sich beispielsweise einen Problem nähern, indem man einfach Papier und Stift zu Hand nimmt und anfängt, zu zeichnen. Bringt man einem Programm in Processing bei, eine Zeichnung anzufertigen, funktioniert das nach ähnlichem Muster. Auch beim Lesen durchläuft unser Gehirn genau dieselben Prozesse, die in einer Software zur Textanalyse ablaufen. Und wenn man ein Kochrezept zusammenstellt, hat das ebenfalls sehr viel mit der Struktur eines Computerprogramms gemein. Diese Art des algorithmischen Denkens ist in unserem Alltag viel weiter verbreitet, als man auf den ersten Blick meinen könnte. Deshalb habe ich auch etwas Bauchschmerzen mit dem Wort Informatik, wenn vom Erlernen einer Programmiersprache gesprochen wird.

WIRED: Was stört Sie daran?
Shiffman: Ich denke, es geht um viel mehr. Man kann jemand sein, der sich mit logischem und rechnerischem Denken beschäftigt und es für seine Zwecke verwendet, ohne dass man dabei zum Informatiker wird. Auch ein Autor oder ein Aktivist, ein Biologe oder ein Tänzer kann ein Coder sein und eine Programmiersprache kreativ einsetzen.

Dan Shiffman

WIRED: Sollten wir deshalb schon von kleinauf lernen, wie man einem Computer das Denken beibringt?
Shiffman: Da bin ich mir wiederum nicht so sicher. Ich verwende zum Beispiel sehr viel Zeit darauf, meine eigenen Kinder von Technologie fernzuhalten. Es gibt doch noch so viel anderes in der Welt: Bäume, Wasser, Spielzeuge, andere Menschen. Es ist heutzutage sehr leicht, sich in all diesen Bildschirmen zu verlieren, von denen wir umgeben sind. Auch ich benutze sie ständig. Ich liebe sie. Und natürlich macht es Sinn, wenn Schüler im fortgeschrittenen Alter lernen, wie die Werkzeuge, die sie täglich benutzen, funktionieren. Allein schon, um geschlossenen Systemen wie iOS nicht ahnungslos ausgeliefert zu sein. Oder auch, um die Angst vor der Mathematik abzubauen. Aber ich glaube, gerade für jüngere Menschen ist die physische Welt zunächst einmal vollkommen ausreichend.

WIRED: In Ihrem Buch „The Nature of Code“ und dem dazugehörigen Processing-Kurs zeigen Sie, wie man diese physikalische Welt mithilfe von Computerprogrammen simuliert. Kann man also durch das Coden auch etwas darüber erfahren, welche Kräfte in der Natur walten?
Shiffman: Es ist schon faszinierend, überall in der Natur diese mathematischen Muster zu entdecken, die sich in Programmen abbilden lassen. Fraktale zum Beispiel. Oder die Fibonacci-Folge. Durch das Programmieren lernt man etwas über die Algorithmen, die sich in der Natur verbergen. Zugleich kann man sich von der Natur aber auch einiges abschauen: Wenn wir in Computergrafiken die wirkliche Welt widerspiegeln, fühlt sich der Anwender damit meistens sehr wohl. Auch lässt sich Software intuitiver bedienen, wenn man sich bei ihrer Gestaltung an den Naturgesetzen orientiert. Beim Swipen über einen Touchscreen werden beispielsweise Beschleunigung und Reibungswiderstand simuliert. Nichts davon ist wirklich vorhanden, aber es fühlt sich einfach natürlicher an.

WIRED: Apropos Swipen: Obwohl man mit Processing Desktop-Programme erstellen kann, die unter allen gängigen Betriebssystemen laufen, tut sich die Sprache mit Mobile Apps etwas schwer. Warum?
Shiffman: Processing basiert auf der Programmiersprache Java, und iOS erlaubt es schlichtweg nicht, Java-Programme auszuführen. Wenn man also eine iPhone-App entwickeln möchte, kann man deren Konzept und Funktionen in Processing wunderbar austesten. Für die finale App muss man dann aber in eine andere Programmierumgebung wechseln. Android-Anwendungen hingegen lassen sich mit Processing durchaus erstellen, weil Android auch auf Java basiert. Das Problematische daran ist nur, dass es so viele verschiedene Versionen von Android und so viele verschiedene Geräte mit diesem Betreibssystem gibt. Processing ist ein reines Freiwilligenprojekt, und in Sachen Android auf den neuesten Stand zu bleiben, ist ziemlich aufwändig. Wenn also jemand Lust hat, sich damit zu beschäftigen, soll er sich bitte bei uns melden.

Neugierig geworden? Processing 3 kann für Windows, Mac und Linux gratis — oder gegen eine freiwillige Spende — heruntergeladen werden. Ein leicht verständlicher Einstieg in die Programmiersprache ist Daniel Shiffmans Mitmach-Tutorial „Hello Processing“. Auch gut: der Videokurs „Fun Programming“ von Abe Pazos. 

Jetzt WIRED Member werden und mit uns in die Zukunft starten!

Mit im Paket: 4 Magazin-Ausgaben im Jahr und der Member-Zugang zu exklusiven Inhalten auf WIRED.de sowie weitere Vorteile nur für Member.

Member werden