· 

Ist PROGRAMMIEREN eine KUNST?

Ist das Kunst oder kann das weg? 

print("Hallo Welt!")

Dass dieser Python-Code, der einfach nur den Text "Hallo Welt" auf der Konsole ausgibt, in vielen Fällen wegkann, steht außer Frage. Aber handelt es sich dabei vielleicht sogar um Kunst? Der Informatiker Donald Knuth hat mit seinem Werk "The Art of Computer Programming", also die Kunst der Computerprogrammierung, schon im Jahre 1968 die Debatte, ob Programmieren eine Kunst sei, angefacht. Und damit wären wir bereits bei der zentralen Frage dieses Artikels: Ist Programmieren eine Kunst?

Gerade in Zeiten von Videospielen und Non-Fungible-Tokens (NFTs) ist diese Frage durchaus berechtigt und evtl. müssen wir den Kunstbegriff neu denken bzw. unser Kunstverständnis modernisieren, so wie sich der Kunstbegriff über die Jahre hinweg immer wieder gewandelt hat und jede neue gesellschaftliche Situation eben auch einen neuen Kunstbegriff hervorbringt. [Q1]


Was ist Kunst?

Aber alles der Reihe nach. Zunächst müssen wir definieren, was man eigentlich unter "Kunst" versteht. Laut Wikipedia bezeichnet Kunst "im weitesten Sinne jede entwickelte Tätigkeit von Menschen, die auf wissen, Übung, Wahrnehmung, Vorstellung und Intuition gegründet ist." [Q2] Damit kann die Heilkunst oder die Kunst der freien Rede gemeint sein. Weiter heißt es: "Im engeren Sinne werden damit Ergebnisse gezielter menschlicher Tätigkeit benannt, die nicht eindeutig durch Funktionen festgelegt sind." [Q2] Es handelt sich um ein Produkt menschlicher Kultur, das Ergebnis eines kreativen Prozesses ist, an dessen Ende ein Kunstwerk steht, wobei auch der Schaffensprozess selbst "Kunst" sein kann. Wir könnten an dieser Stelle noch ewig so weitermachen und den Kunstbegriff aus vielen verschiedenen Perspektiven betrachten, doch das wäre eine Reise ohne Wiederkehr. 

Leo Tolstoi schrieb einst ein 237 Seiten starkes Buch, in dem er sich allein der Frage widmete, was Kunst sei. Ich bin kein ausgebildeter Kunstexperte, sondern Informatiker. Meine Aufgabe ist es zu klären, ob Programmieren als Kunst angesehen werden kann und bisher haben wir festgestellt, dass Kunst etwas ist, das vom Menschen geschaffen wird. Etwas, das nicht eindeutig durch Funktionen festgelegt und Ergebnis eines kreativen Prozesses ist oder das kreative Schaffen selbst sein kann. Kunst kann mithilfe von verschiedenen Materialien, Sprache und Tönen in Auseinandersetzungen mit Natur und Welt. [Q4] 

Daneben kann Kunst eine Form der Selbstdarstellung, eine Aktivität, die "Schönheit" ausdrückt und die intensivste Form des Individualismus sein. [Q3] Dabei reicht nur die Motivation, ein Publikum zu berühren, nicht aus, um von Kunst sprechen zu können, wenngleich großartige Kunst starke Gefühle weckt. [Q8] Nach Platon ist Kunst die Imitation der Natur.


Was ist Programmieren?

Jetzt, da wir das eine Fass halbwegs zubekommen haben, machen wir direkt das nächste auf: Was ist Programmieren? Wenn wir wieder nach Wikipedia gehen, dann ist "Programmieren" das Schreiben eines Computerprogramms, was wiederum ein Teilbereich der Softwareentwicklung ist. [Q5] Im Vergleich zu der fulminanten und wortgewaltigen Definition des Kunstbegriff wirkt die Tätigkeit des "Programmierens" schon allein von der Beschreibung her sehr technisch und fast schon ein wenig simpel. Aber ist es das wirklich? Keineswegs! Nicht umsonst stuft das Finanzamt das Programmieren von z. B. Anwendersoftware nicht als freiberufliche bzw. künstlerische Tätigkeit im Sinne § 18 Abs. 1 Nr. 1 EStG ein. [Q6] Man übt hierbei eine qualifizierte Tätigkeit aus, bei der komplexe Aufgaben erfüllt werden, die den Anforderungen an einer ingenieurähnlichen Dienstleistung entsprechen. [Q7]

Aber ist das wirklich so einfach? Klar, ich bin weder Finanzbeamter, noch Steuerberater und die Informatik ist im Kern eine Ingenieurswissenschaft: Doch ist die Entwicklung eines Computerspiels nicht auch Kunst? Nun, dann müsste ein Videospiel quasi als Kunstwerk angesehen werden, doch wenn es nach dem amerikanischen Filmkritiker Roger Ebert geht, dann könne ein Videospiel "niemals Kunst sein", denn Spiele kann man gewinnen – Kunst hingegen nicht. [Q9] Ein Spiel "ohne Regeln" oder klares Ziel sei kein Spiel mehr, sondern nur noch die Repräsentation einer Geschichte. Schaut man sich Spiele wie "Okami" oder "Life is Strange" an, dann werden Gamer der Aussage von Ebert sicherlich widersprechen. Im letzten Jahrzehnt hat man immer wieder darüber diskutiert, ob Videospiele unter bestimmten Voraussetzungen oder gar allgemein als "Kunst" bezeichnet werden können. Unsere ehemalige Bundeskanzlerin Angela Merkel hat 2017 auf der Gamescom gesagt, dass "Computer- und Videospiele [...] als Kulturgut, als Innovationsmotor und als Wirtschaftsfaktor von allergrößter Bedeutung [sind]". [Q10]

Worin unterscheiden sich denn storybasierte Videospiele und klassische Romane? Der Autor eines Romans erfindet eine Spielfigur und wenn uns ihre Geschichte berührt, nimmt sie uns gedanklich mit auf ihre Reise. Für mich gehört zur Entwicklung eines Videospiels jedenfalls weitaus mehr als ein paar Codezeilen zusammenzustöpseln. Schließlich müssen bei vielen Spielen Charaktere, nein Persönlichkeiten, und teilweise ganze Welten geschaffen werden. In Videospielen wird zudem nicht selten eine fesselnde Geschichte erzählt, die von stimmungsvoller Musik begleitet wird. All das sind eigentlich klassisch künstlerische Disziplinen. Aber es stimmt schon: Wenn man die Rolle der reinen Programmierung in einem solch künstlerisch anmutenden Projekt isoliert betrachtet, dann kann durchaus der Eindruck entstehen, dass Programmieren keine Kunst ist. 


Was unterscheidet Programmieren von einem literarischen Werk?

Dann stelle ich jetzt aber wiederum die Frage, wie all diese Komponenten (also Charaktere, Spielwelten, Musik usw.) ohne die Sprache des Computers überhaupt interagieren können. Erzählt der Code selbst nicht eine eigene Geschichte, in der die Komponenten eines Videospiels wiederum als Figuren auftreten und in einen Dialog treten? Warum wird ein literarisches Werk wie Goethes Faust als Kunst angesehen, während Geschichten, die in der Computersprache geschrieben werden, als leblos, ja sogar "tot" empfunden werden? Bedarf es zum Programmieren nicht der Beherrschung einer Sprache, die in der Welt aus Nullen und Einsen einer Bedeutung zugeführt werden?

Die theoretische Informatik liefert darauf eine klare Antwort: JA! Konzepte wie Wörter, Sätze und Grammatik werden hier als abstrakt formalisiert und natürliche Sprachen folgen genau den hierin beschriebenen Prinzipien. Ein literarisches Werk besteht zumeist aus bestimmten Tropen, stilistischen Mitteln und Erzählelementen. Ein Programm auf der anderen Seite hat Algorithmen, Funktionen und ist in einer bestimmten Programmiersprache geschrieben. Es ist jedoch richtig, dass zur Bemessung der Qualität eines Programms greifbare Dinge wie "Korrektheit", "Robustheit", "Performanz" und "Wartbarkeit" herangezogen werden, während es bei Literatur eher um die Figuren, Motive und Geschichte geht. [Q11] Dennoch kann man mithilfe der objektorientierten Programmierung (OOP) kleine Geschichten erzählen. 

Betrachten wir dazu als Beispiel mal die folgende Klasse Mensch:

class Mensch:
  def __init__(self, name, alter, geschlecht):
    self.name = name
    self.alter = alter
    self.geschlecht = geschlecht
 
  def reden(self, text):
    print(text)

  def zuhören(self):
    pass

Ein "Mensch" hat in unserem Fall einen Namen, ein Alter, ein Geschlecht und zwei Methoden reden( ) und zuhören( ). Allein mit dieser Simplifizierung der Realität lässt sich eine kleine Geschichte erzählen, nämlich z. B. dass Marla und Martin zusammenkommen, sie sich gegenseitig begrüßen und Martin Marla seine Liebe gesteht:

martin = Mensch("Martin", 29, "männlich")
marla = Mensch("Marla", 33, "weiblich")

martin.reden("Hallo Marla!")
marla.reden("Hallo Martin!")

martin.reden("Ich liebe dich!")
marla.zuhören()

Je komplexer man die beiden Menschen gestaltet und je mehr Komponenten man hinzuprogrammiert, desto fantastischere Geschichten lassen sich erzählen. Man könnte auf diese Weise sogar Goethes Faust nachprogrammieren.

Und überhaupt: Muss ein Programmierer nicht auch kreativ werden, wenn er UML-Diagramme zeichnen soll? Ok, der letzte Punkt war jetzt nicht ganz ernstgemeint, doch du verstehst vermutlich, worauf ich hinauswill. Es gibt viele Konzepte in klassischen Literaturerzeugnissen, die sich durchaus auf ein Programm, das in einer bestimmten Programmiersprache geschrieben wurde, anwenden lassen. Es gibt viele Gemeinsamkeiten, die sich nicht bestreiten lassen und dennoch wird das eine als ingenieursähnliche und das andere als künstlerische Tätigkeit verbucht. Doch auch ein Autor muss seine Geschichte auf ein solides Grundfundament stellen, die Wirkung verschiedener stilistischer Mittel kennen, diese sinnvoll zusammenfügen und in einer Sprache korrekt beschreiben können. Dafür bedarf es einer gewissen Form der Architektur, d. h. ein Grundgerüst, nach dem man eine Geschichte erzählt.

Und Überraschung! Auch in der Programmierung kennt man verschiedene Architekturstile, die man im Informatikstudium bspw. im Bereich der Softwarearchitektur lernt. Da wäre z. B. das klassische Model-View-Controller-Architekturmuster (MVC), bei dem es verschiedene Softwarekomponenten gibt, die alle ihren ganz eigenen Zweck erfüllen und in ein Gesamtgebilde eingesetzt werden. Aber ist das Kunst? Nun, wenn man es mit dem klassischen Architekturbegriff vergleicht, müsste man mit "NEIN" antworten. Nach dem Wiener Architekten Adolf Loos gehört die Architektur "nicht unter die Künste". [Q12] Alles, was einem Zweck diene, sei aus dem Reiche der Kunst auszuschließen und ja, eine gewisse Zweckmäßigkeit lässt sich bestimmten architektonischen Bauformen nicht absprechen. Auch wenn die monumentalen und teils sehr ästhetischen Gebäude für den Laien durchaus künstlerisch anmuten, so zählen die Architekten nicht zu den gesetzlich definierten "Künstlern". Das ist auch ein Grund, weshalb kaum Architekten über die Künstlersozialkasse (KSK) versichert sind. Demnach wird man es schwer haben, sich als Softwarearchitekt zu den Künstlern zu zählen, wenn "klassische" Architekten es in der Regel auch nicht können.


Computerkunst

Und was ist mit Computerkunst? Die sogenannte Generative Kunst ist inzwischen zu einer zeitgenössischen Form des künstlerischen Schaffens geworden. [Q13] Dabei steht aber nicht unbedingt das Kunstwerk, sondern vielmehr der Entstehungsprozess bzw. die zugrundeliegenden Ideen im Vordergrund. Der Künstler schafft zuvor ein Regelwerk bzw. ein Programm, das jedoch nicht, wie man im ersten Moment annehmen könnte, aus Programmcode bestehen muss. Es kann sich auch um Regeln in natürlicher oder musikalischer Sprache handeln. Auch ein mechanischer Regelsatz ist erlaubt.

Die folgenden Werke habe ich mithilfe von Python erstellt:


Anwendung des Kunstbegriffs auf die Programmierung

Schauen wir uns nun einmal an, welche Kunstaspekte, die wir zu Beginn des Artikels identifiziert haben, nun auf das Programmieren zutreffen. Ein Programmierer muss zweifelsfrei kreativ sein, um Probleme zu lösen oder um etwas "Neues, Einzigartiges" zu schaffen. Der Quelltext erzählt eine eigene Geschichte, die, wenn der Programmierer sein Handwerk wirklich versteht, einen unverwechselbaren digitalen Fingerabdruck trägt. Programme werden vom Menschen geschaffen und sind, je nach Projekt, Ergebnis eines kreativen Prozesses. Bei generativer Kunst steht der kreative Prozess im Vordergrund. Programmieren kann auch eine Form der Selbstdarstellung sein und einen individuellen Charakter besitzen, der durch den Künstler – äh Programmierer – geprägt ist. 

Nach Platon ist Kunst die Imitation der Natur. Bildet Programmieren in der heutigen Zeit somit nicht die Natur des Digitalen ab?


Fazit

Kommen wir abschließend zu einem Fazit. Dass wir am Ende zu keiner eindeutigen Antwort kommen werden, war dir hoffentlich bereits klar, als du diesen Artikel angeklickt hast. Es gibt einige Bereiche der Programmierung, die man künstlerischem Treiben zuordnen kann und wiederum andere, die rein technisch zu betrachten sind. Für mich persönlich überwiegen jedoch die künstlerischen Aspekte, insbesondere, wenn wir den Bereich der generativen Kunst betreten. Zugegeben, der Vergleich von Programmen, die in einer bestimmten Sprache entwickelt wurden, mit einem klassischen literarischen Werk wirkt erstmal unpassend, doch vielleicht ist es an der Zeit, in diesem Punkt den Kunstbegriff im digitalen Zeitalter zu erweitern.


Quellen