‹ Alle Einträge

Hip-Hop macht den Code

 

Hiphop macht den CodeScreenshot von Youtube.com

Wer programmieren will, wird beim Anblick von Code-Zeilen nicht sofort an Beats und Reime denken. Die Bling-Bling-Welt des Hip-Hops und das für viele immer noch als nerdig geltende Coden erscheinen als zwei Welten, die trotz aller Tüftelei an Sounds und Beats in der Musikproduktion nicht sehr viel miteinander zu tun haben. Doch nicht so für Shareef Jackson: Die Liebe zum Hip-Hop hat dem 35-Jährigen seine Arbeit als Programmierer erleichtert.

"The artist may change, by the structure stays the same", beschreibt Jackson auf der Website Boingboing die Gemeinsamkeit zwischen Code-Zeilen und Hip-Hop-Beats. Dass der Künstler wechseln kann, die Struktur jedes Songs aber gleich bleibt, habe Jackson als jungem Programmierer sehr geholfen. Er habe sich beim Coden an seine Reime erinnert: erst das Template, die Vorlage, dann die Details.

Jackson ist der Sohn eines DJs, 1980 geboren, und als solcher mit den Klassikern von Old und New School des Hip-Hops aufgewachsen. Er hat erlebt, wie Rakim und Public Enemy Sound und Flow im Rap veränderten, wie Beats und Reime immer ausgefeilter wurden. "Trotz alldem blieb die Vorlage die Gleiche: Beats, Strophen und Refrain", schreibt Jackson. Die Abfolge Strophe-Refrain-Strophe-Refrain blieb konstant, egal wie viele Strophen es gab. Deshalb schrieb Jackson immer nur noch einen Refrain für jeden neuen Song in sein Reimbuch. Er wusste ja, an welcher Stelle er wiederholt wird. Änderungen an dem Chorus musste er deshalb nur noch an einer Stelle vornehmen.

Genau dieses Prinzip hat er dann bei seiner Arbeit als Programmierer wieder angewandt. Erst schrieb Jackson die Vorlage, das Template. Dann füllte er die Details aus, den Wechsel aus verschiedenen, wiederkehrenden Inhalten wie Strophe und Refrain. Natürlich um Befehle in Programmiersprache ergänzt:

Bildschirmfoto 2015-06-15 um 16.52.38

Das Programm folgte der immer gleichen Struktur, nur die Inhalte der jeweiligen "Strophe" oder des "Refrains" änderten sich. Und musste Jackson einen Programmierfehler beheben, hatte er einen funktionalen Vorteil: "Selbst wenn ich die Refrain()-Funktion dreimal in der gleichen Vorlage eingebaut hatte, musste ich nur an einer Stelle die Änderungen einfügen, um das ganze Programm zu aktualisieren", schreibt er. Eine für Programmierer sicher nicht revolutionäre Erkenntnis, für Jackson aber der Schlüssel zum Verständnis. Selbst als er später Spiele programmierte, half ihm seine Hip-Hop-Struktur weiter: "The artists may change, but the template stays the same."

Weitere Teilchen finden Sie hier.

11 Kommentare

  1.   Franzl Lang

    Das ist aber wirklich ganz schön banal.


  2. Früher habe ich auch etwas Programmiert.
    Mittlerweile bin ich aber zur reinen Mathematik übergegangen.
    Computer sind trivial und viele mathematische Probleme lassen sich mit Computer nicht lösen (höchstens annähern)
    Trotzdem schadet es nicht programmieren zu können.
    Obwohl das Programmieren in vielen Bereichen noch intuitiver werden könnte.
    Dann braucht’s auch keine Eselsbrücken.


  3. Ja, das habe ich mir auch gedacht. :)

  4.   cs

    Rap/HipHop? Da war doch was:

    http://musicthatmakesyoudumb.virgil.gr/mtmydGenreLarge.png

    Deswegen verstehe ich auch, warum seine Aussagen zum Programmieren so trivial sind.

    Happy Trolling!!! ;)

  5.   Nergal

    Wahnsinn, und diese Analogie funktioniert sogar mit anderen Musikrichtungen!

    Davon abgesehen sind das absolute Grundlagen und ich warte gespannt auf den nächsten Eintrag a’la „Musikrichtung xy hat mir beim Kochen geholfen zu verstehen, dass man Öl in die Pfanne geben muss damit Lebensmittel beim Braten nicht anbrennt!“

  6.   Rlee

    Der Artikel ist in der Tat ganz schön banal.

  7.   koehlerl

    Der Artikel mag banal erscheinen. Er illustriert aber doch einen allgemeineren Sachverhalt recht schön, nämlich dass das Niveau in Amerika extrem niedrig liegt. Für Amerikaner mit Highschool-Abschluss – also der Fähigkeit, einfache Sätze lesen und schreiben zu können und notfalls mit einem Fahrplan klar zu kommen – ist das schon eine echte Top-Qualifikation, begriffen zu haben, dass man beim Programmieren (wie auch bei anderen Tätigkeiten oftmals) vom Allgemeinen ins Besondere geht :-)

  8.   Antinom

    class P
    {
    static void Main()
    {
    string b=“ bottle“,w=“ on the wall“,o=“ of beer“,p=“.\n“,s=“s“;
    for(int i=99;i>0;i–)
    System.Console.Write(i+b+(i>1?s:““)+o+w+“, „+i+b+(i>1?s:““)+o+p
    +(i>1?“Take one down and pass it around, „+(i-1)+b+(i-1>1?s:““)+o+w+p
    +“\n“:“Go to the store and buy some more, „+99+b+s+o+w+p));
    }
    }

    Dieser Code schreibt alle 99 Strophen von „99 Botlles of Beer“ auf den Bildschirm. Normalerweise eine Fingerübung für einen Programmiereinsteiger oder für jemanden, der sich mit einer neuen Sprache vertraut machen möchte. In diesem Fall kommt die Strophe sogar noch mit einem Argument das sich ändert: Die verbleibende Anzahl der Bierflaschen ändert den Text. Das ist eine Übung für _Einsteiger_!*

    _____
    *In diesem besonderen Fall nicht – hier ist es Codegolf! http://codegolf.stackexchange.com/questions/2/99-bottles-of-beer


  9. Ich hatte auch eher die Befürchtung, dass Code den HipHop macht…


  10. @ cs
    Jeder Zeit! ;)

    Angewandter Wortschatz

    Aesop Rock: 7392
    „Listening to Aesop Rock is like taking your brain on a futuristic urban hell-ride through pop culture“
    Goethe: 2913 (Faust I)
    Helene Fischer: 1044
    Auch irgendwas mit Hirn und Hölle

    http://noisey.vice.com/de/blog/hiphop-groesster-wortschatz
    http://noisey.vice.com/de/blog/die-deutsche-rapszene-ausgewertet-nach-der-groesse-ihres-wortschatzes