Code is poetry?

Code is poetry? 1

Leute, die WordPress selbst hosten, besuchten in den meisten Fällen die Seite wordpress.org. Wer es nicht getan hat, sollte dort dringend vorbei schauen. Es finden sich dort nicht nur tolle Plugins und Themes, sondern auch sehr gut besuchte Support-Foren. Aber das soll nicht Teil dieses Beitrages sein, sondern eine eher unscheinbare Zeile auf der Website: “CODE IS POETRY”. Das steht im Footer auf wordpress.org. So toll dieses kurze Statement auch klingen mag, es ist falsch.

Der Begriff bezeichnet im übertragenen Sinn ferner eine bestimmte Qualität. So spricht man etwa von der „Poesie eines Moments“ oder einem „poetischen Film“ und meint damit in der Regel, dass von dem Bezeichneten eine sich der Sprache entziehende, oder über sie hinausgehende Wirkung ausgeht, etwas Stilles, ähnlich wie von einem Gedicht, das eine sich der Alltagssprache entziehende Wirkung entfaltet. – Wikipedia

Der für uns wichtigste Teil aus der Definition ist: sich der Alltagssprache entziehende Wirkung. Konkret heisst das, dass das gesprochene oder geschriebene Wort etwas vorgibt zu sein, was es nicht ist. Dabei können aktuelle grammatikalische Regeln ignoriert und sogar ergänzt werden. Das heisst, dass jeder, der ein bestimmtes Stück Poesie liest, etwas anderes versteht und versucht seine Sicht der Dinge rein zu interpretieren.

Interpretation, grammatikalische Ungenauigkeiten und versteckte Bedeutungen sind aber genau das Gegenteil, was guten Code ausmacht. Code muss klar strukturiert sein, einer klaren Logik folgen und in sich konsistent sein. Wäre Code Poesie, würde eine Entwicklerin ihn nicht verstehen. Schnelles Verstehen ist aber eines der wichtigsten Dinge in diesem Beruf.

WordPress suggeriert durch den prominenten Spruch “Code is poetry” also gewisse künstlerische Freiheiten. Wird diese Wortgruppe als “Oberste Direktive” festgesetzt, können untergeordnete Regelungen nur von Dieser geerbt werden. WordPress selbst verstößt aber schon innerhalb der ersten paar Seiten der Dokumentation gegen seine eigene Direktive und schreibt (mehr oder weniger) genaue Regelungen für das Schreiben von Code (PHP, CSS, JS und HTML) vor.

Wie oben geschrieben, besteht guter Code aus klaren Strukturen, einfacher Logik und konsistenten Regelungen. Jedes Team definiert diese Regelungen automatisch für sich selbst – entweder in einem dynamischen Findungprozess oder durch strukturierte Diskussionen. Am Ende steht ein Codex, wie WordPress sich selbst einen gegeben hat.

“Code is poetry” bedeutet aber auch, das Code eine Art Kunst ist. Die Frage lautet, ob es überhaupt noch künstlerische Freiheiten gibt, wenn gewisse Schreibweisen vorgegeben werden. Die Antwort darauf ist einfach: Ja.

Nehmen wir zum Beispiel die Architektur. Es gibt feste Konstanten in der Architektur – die Statik und physikalische Grundgesetze. Soll für einen Bau Holz benutzt werden, greifen andere Statikstandards, als für Stahlbeton. Der Bau selbst kann aber dennoch nach den eigenen Vorstellungen gestaltet werden.

Im Code verhält es sich genau so. Es gibt für bestimmte Probleme nicht die eine Lösung, sondern hundert verschiedene. Wenn Code eine Art Kunst ist, dann die, dass verschiedene Wege für die gleiche Lösung genutzt werden können und man sich die einfachste und schnellste Variante erarbeiten muss. Code ist also eine Blaupause, welche die Konstruktion von verschiedenen Bauwerken beschreibt.

Dabei darf es aber nicht zu Poesie, also zu Verschlüsselungen kommen. Code muss genau das Aussagen, was er tun soll. Um das mal ganz kurz zu veranschaulichen: Ein Array mit dem Namen $info sagt nicht viel. Ein Array mit dem Namen $pluginHeaderInfos verrät dafür schon viel mehr.

Der Satz auf wordpress.org sollte nicht “Code is poetry” lauten, sondern “Code is a blueprint”.

Newsletter abonnieren

Das könnte dich auch interessieren

Lokale Installation von WordPress und WooCommerce

Über eine lokale Installation von WordPress auf deinem Computer kannst du WooCommerce testen, Updates einspielen und Anpassungen durchführen - alles r ...

Mehr erfahren

WooCommerce einrichten Teil 1 - Grundeinstellungen & Produkte

Aktualisiert am 14.12.2020 Die Onlineshop-Erweiterung WooCommerce ist ein mächtiges Werkzeug mit unzähligen Einstellungsmöglichkeiten. Der nachfolgen ...

Mehr erfahren

Online-Kurse mit WordPress erstellen und mit WooCommerce verkaufen

Online-Kurse sind zeitgemäß und vermitteln ortsunabhängiges Wissen an Lernende. Über den Verkauf von Online-Kursen mit WooCommerce kannst du dein eigen ...

Mehr erfahren

Kommentare

2 Kommentare

  1. […] Thomas Herzog ist gegenteiliger Meinung. Er hat natürlich ebenfalls Recht. Zum Beispiel immer dann, wenn die Semantik einzelner Programmanweisungen im Mittelpunkt steht. Wenn andere Dinge im Mittelpunkt stehen, sieht es anders aus. Die Gesamtstruktur eines Softwaresystems hat eben doch poetische Qualitäten: innerer Zusammenhang, Verständlichkeit, Erfassbarkeit, Eleganz. […]

  2. Tobias Zimpel

    Auch wenn ich die Argumentation durchaus nachvollziehen kann, und sie auch schlüssig ist – ich finde, der Satz “Code is poetry” beinhaltet auf einer anderen Ebene doch viel Wahrheit.

    Um ein wahrhaft großes Gedicht zu verfassen, braucht es einerseits Erfahrung, andererseits aber auch einen geübten Umgang mit der Sprache – auch in seinen Feinheiten. Und ein außergewöhnliches Gedicht strahlt eben auch eine hohe Eleganz im Umgang mit der Sprache und ihren Ausdrucksformen aus. Es ist vielleicht spontan entstanden, vielleicht aber auch hunderte male neu geschrieben worden, bis zur Perfektion (aus Sicht des Autors).

    Die gleichen Qualitäten wohnen in meinen Augen auch dem inne, was man “Code zum Verlieben” nennen könnte: Eine elegante Lösung für ein Problem oder einen Algorithmus, die oft eben durch ihre Einfachheit besticht.

Schreibe eine Antwort an Tobias Zimpel Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Du kannst folgende HTML Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>