Der Unterschied zwischen Programmierern und Nicht-Programmierern

Vor einigen Monaten bin ich im Programmier-Blog Coding Horror über einen Artikel gestolpert, in dem beschrieben wird, woran man einen Programmierer erkennt. Der Artikel beschreibt, daß man Programmierer von Nicht-Programmierern (bzw. Leute, die Programmieren prinzipiell lernen könnten, und Leute, die damit so ihre Schwierigkeiten haben dürften) relativ leicht voneinander unterscheiden kann. Der Artikel bezieht auf diese wissenschaftliche Studie.

In der Studie mußten Anfängern in Programmierkursen einen einfachen Test machen (es ging um Zuweisungen und ob man (schnell) in der Lage ist ein konsistentes geistiges Modell von der Funktionsweise dieser Operation aufzubauen.

Und hier nun der Clou. Derselbe Test wurde den Kursteilnehmern noch mal vorgelegt, nachdem sie drei Wochen lang den Programmierkurs besucht hatten. Und die Ergebnisse waren so gut wie identisch. Das heißt, entweder man versteht direkt wie Zuweisungen funktionieren oder man versteht es nie (bzw. nur nach intensivem Training).

Es scheint also tatsächlich so etwas wie eine natürliche Begabung für’s Programmieren zu geben, eine Art Coding Aptitude. Und wenn man diese nicht hat, wird es sehr schwer für einen, in der Welt des Programmierens jemals Fuß zu fassen. Das heißt aber leider nicht, daß diese Leute nicht trotzdem versuchen, in der Programmierbranche Karriere zu machen. Angeblich können 199 von 200 Bewerbern für einen Programmierjob nicht einmal simpelste Programmieraufgaben lösen. Wenn Ihr testen wollt, ob Ihr besser seid als die 199, hier ist die Aufgabe, an der sie scheiterten:

Schreibe ein Programm, das die Zahlen von 1 bis 100 ausgibt. Aber wenn eine Zahl durch drei teilbar ist, gib stattdessen “Fizz” aus und wenn sie durch fünf teilbar ist, gib stattdessen “Buzz” aus. Für Zahlen, die durch drei und fünf teilbar sind, gib “FizzBuzz” aus.

Mehr Lösungen als man für möglich halten könnte, finden sich in den Kommentaren zum oben verlinkten Artikel. Meine ad-hoc-Lösung in Perl hat 141 Zeichen. Wie man sieht, ist es also nicht sehr aufwendig. Wenn man häufig programmiert oder damit sogar sein Geld verdient, sollte man so ein Programm in ein paar Minuten zusammengeschrieben haben. Im verlinkten Artikel wird allerdings auch erwähnt, daß die meisten Menschen mit einem Informatik-Abschluß das nicht können. Und einige erfahrene Programmierer deutlich länger als 15 Minuten dafür brauchen. Je nach Gemütszustand kann einen das trösten oder erschrecken. Ich glaube, ich entscheide mich für das letztere.

Für diejenigen, die noch nie programmiert haben, und wissen wollen, ob sie eine reelle Chance haben, es zu lernen: Der in der Studie verwendete Test, läßt sich (als Word-Dokument) auf der oben erwähnten Seite herunterladen (Direktlink zum doc).

One thought on “Der Unterschied zwischen Programmierern und Nicht-Programmierern

  1. “…natürliche Begabung…” – Ich meine, neulich irgendwo gelesen zu haben, dass der Einfluss des Übens größer ist, als die angeborene Präferenz zu irgendetwas. Mal schauen, ob ich zu diesem Stichwort nicht in Kürze bloggen werde?!
    Daneben werde ich mir mal den Test anschauen… grusel… ;-)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>