Von Keyboards und Kasserollen

7 Mal bewiesen: Coden ist wie Kochen!

Gabriela Motroc

© Shutterstock.com/Kzenon

Coden und Kochen – beide Tätigkeiten scheinen auf den ersten Blick nicht das geringste gemein zu haben. Kennt man sich mit beidem aus, treten gewissse Gemeinsamkeiten jedoch schnell zu Tage. Eine ist beispielsweise das Gefühl von Kontrolle, das nur wenige andere Beschäftigungen vermitteln können. Doch das ist nicht die einzige Parallele.

Auf den ersten Blick haben Kochen und Coden nichts, aber auch gar nicht gemeinsam. Allerdings: Vergegenwärtigt man sich, welche Befriedigung ein wohlschmeckendes Mahl bzw. ein sorgsam „zubereiteter“ Code verschaffen können, ergibt der Vergleich schon deutlich mehr Sinn.

Wie erlernt man zum Beispiel das Kochen? Zunächst hantiert man mit einfachen Küchenutensilien und kreiert simple Gerichte wie Rührei und Co. Doch je besser man wird, je einfacher die grundlegenden Arbeitsschritte von der Hand gehen, desto mehr traut man sich zu, lernt etwa, mit verschiedenen Messertypen umzugehen und gibt dem Backen oder den Geheimnissen der Fleischzubereitung eine Chance. Eine Analogie der Programmierung wäre beispielsweise, zunächst CSS und HTML zu meistern, bevor man sich an JavaScript wagt.

Der Programmierer, Autor und Webentwickler Brett Terpstra gehört zu denjenigen Menschen, für die Kochen und Coden praktisch eins sind. In seinem folgerichtig „Kitchen coding“ betitelten Blog geht er den Parallelen nach und hat die folgenden Analogien und Gemeinsamkeiten zu Tage gefördert:

1. Der Code anderer Leute = Rezepte

Möchte man das Kochen erlernen, so bietet es sich an, nicht wild drauflos zu probieren, sondern sich stattdessen einige Rezepte zu Gemüte zu führen und somit in die Fußstapfen anderer (erfahrener) Menschen zu treten. Dabei kann man alleine schon durch die exakte Befolgung von Vorgaben neue Erkenntnisse gewinnen. Noch mehr lernt man allerdings, wenn man das Rezept nach eigenem Gusto abändert.

Das selbe gilt für die Programmierung: Man kann zwar nach der Methode „Copy and Paste“ vorgehen, deutlich mehr lernt man jedoch, wenn man seine eigenen Fehler macht, den Code sorgsam durchforstet, ihn in seine Bestandteile zerlegt und versucht, ihn von Grund auf neu zu bauen. Wählt man diesen, beschwerlicheren Weg, erwirbt man eine breite Palette an Fähigkeiten, Konzepten und Syntaxen, die den weiteren Lernprozess deutlich beschleunigen.

2. Programmiersprachen = (Landes-)Küchen

Das Kochen eines thailändischen Gerichts hat nur wenig mit der Zubereitung eines französischen oder italienischen gemein – das gleiche Phänomen begegnet einem in der Programmierung. Kenntnisse über die grundlegenden Algorithmen des Kochens und Codens leisten einem jedoch auch über Küchen- und Programmiersprachengrenzen hinweg gute Dienste.

Lesen Sie auch: Warum Programmierer an ihren Software-Systemen riechen müssen

3. Modultests = Salz und Pfeffer

Wie Terpstra so treffend schreibt: „Unit testing in programming can be complex without proper forethought“. In der Küche ist das zwar leichter – selbst das fadeste Gericht kann mit etwas Salz und Pfeffer noch genießbar werden –, allerdings führen sorgsame und vollständige Tests dazu, dass man kleinere Bereiche nachbessern kann, anstatt gleich die gesamte Arbeit wegwerfen zu müssen. Kurz gesagt: Tests sind eine mögliche Antwort auf die Frage: Wie werde ich ein besserer Koch/Programmierer?

4. Multithreading = mit Bratpfannen jonglieren

Sobald man verstanden hat, worauf es bei einem schmackhaften Gericht ankommt, welche Zutaten man für es braucht und wann man diese zugeben muss, kann man problemlos mit unzähligen Bratpfannen und Töpfen gleichzeitig hantieren – und nebenbei noch Zutaten schneiden oder etwas backen. Klingt das in Ihren Ohren vertraut? Sollte die Antwort „ja“ lauten, so haben Sie sich vermutlich schon einmal mit den Konzepten des Multithreading beschäftigt.

Lesen Sie auch: 4 Tipps, wie Sie Ihre Softwarequalität verbessern

5. Alles nutzen, was einem zur Verfügung steht

Mit „Resten“ kann man die Überbleibsel eines schmackhaften Mahls bezeichnen, doch seine Bedeutung lässt sich leicht auf das Programmieren übertragen. Verwendet man das Wasser, mit dem man den Reis gekocht hat, dazu, Pasta oder Kartoffeln zu kochen, verwendet man sozusagen alles, was einem zur Verfügung steht, ohne sich dabei 1:1 zu wiederholen. Dieses „Reste“-Konzept findet sich auch beim Coden wieder: Code sollte sich nicht wiederholen, redundante Variablen und unnötige Logiken sollten, koste es was es wolle, vermieden werden. Stattdessen können Programmierer Muster identifizieren und anschließend verschiedene Methoden extrahieren.

6. Unterteilung in kleinere Schritte

Eine Aufgabe in kleinere Teile aufzuspalten ist ein generelles Erfolgsrezept, egal ob in der Küche oder dem Kopf des Programmierers. Etwas im Nachhinein nachzubessern oder zu säubern
fällt viel leichter, wenn man sich nicht mit großen Code- oder Kochgutbrocken herumschlagen muss. Wenn man beispielsweise das Rezept bei der Zubereitung eines Gerichts in kleinere Schritte wie das Schneiden des Gemüses, das Zusammenrühren des Dressings und der Bereitstellung der Zutaten aufteilt, so wird man noch am ehesten vor Situationen verschont, in denen man ein komplettes Gericht wegwerfen muss.

Lesen Sie auch: 9 schlechte Programmiererangewohnheiten (die eigentlich jeder liebt)

7. Kameradschaft wirkt Wunder

„Viele Köche verderben den Brei?“ Nicht unbedingt, denn auch das Sprichwort „Vier Augen sehen mehr als zwei“ hat in der Küche seine Gültigkeit, ebenso in Programmiererbüros. Auch wenn es nicht jedermanns Sache ist: Die Paarprogrammierung bietet potentiell ein wahres Füllhorn an Vorteilen, darunter eine höhere Qualität, eine Konzentrierung aufs Wesentliche, sowie Disziplin. Arbeitet man zu zweit in der Küche, so kann man Aufgabenteilung betreiben, Ideen und Meinungen austauschen, sich miteinander abstimmen – alles Dinge, die potentiell zu einer wohlschmeckenderen Mahlzeit führen.

Der Königsweg, um eine besserer Koch oder Programmierer zu werden, ist das Experiment. Um einen hohen Standard einzuhalten, muss man in beiden Professionen so viel wie möglich experimentieren und auch das ein oder andere Risiko eingehen. Egal ob man Keyboard oder Kochmesser schwingt: Einen guten Geschmack entwickelt man nur im Zuge von Fehlern, durch ehrliche Anstrengung und eine Prise Strategie.

Aufmacherbild: Chef in restaurant kitchen at stove with pan von Shutterstock / Urheberrecht: Kzenon

Verwandte Themen:

Geschrieben von
Gabriela Motroc
Gabriela Motroc
Gabriela Motroc ist Online-Redakteurin für JAXenter.com. Vor S&S Media studierte Sie International Communication Management an der The Hague University of Applied Sciences.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: