Loading...

DAS PYTHON-PARADOX

Original

August 2004

In einem kürzlichen Vortrag habe ich etwas gesagt, das viele Leute verärgert hat: dass man klügere Programmierer für ein Python-Projekt gewinnen könnte als für ein Java-Projekt.

Damit wollte ich nicht sagen, dass Java-Programmierer dumm sind. Ich meinte, dass Python-Programmierer klug sind. Es ist eine Menge Arbeit, eine neue Programmiersprache zu lernen. Und die Leute lernen Python nicht, weil es ihnen einen Job verschafft; sie lernen es, weil sie wirklich gerne programmieren und mit den Sprachen, die sie bereits kennen, nicht zufrieden sind.

Das macht sie genau zu der Art von Programmierern, die Unternehmen einstellen möchten. Daher, was ich mangels eines besseren Namens das Python-Paradox nenne: Wenn ein Unternehmen beschließt, seine Software in einer vergleichsweise esoterischen Sprache zu schreiben, wird es in der Lage sein, bessere Programmierer einzustellen, denn es wird nur diejenigen anziehen, die sich die Mühe gemacht haben, sie zu lernen. Und für Programmierer ist das Paradox noch ausgeprägter: Die Sprache, die man lernen muss, wenn man einen guten Job bekommen will, ist eine Sprache, die die Leute nicht nur lernen, um einen Job zu bekommen.

Bisher haben nur wenige Unternehmen klug genug erkannt, dass dem so ist. Aber es gibt hier auch eine Art Auslese: Es sind genau die Unternehmen, für die Programmierer am liebsten arbeiten würden. Google zum Beispiel. Wenn sie Java-Programmierer-Jobs ausschreiben, wollen sie auch Python-Erfahrung.

Ein Freund von mir, der fast alle gängigen Sprachen kennt, verwendet Python für die meisten seiner Projekte. Er sagt, der Hauptgrund sei, dass ihm das Aussehen des Quellcodes gefällt. Das mag ein oberflächlicher Grund erscheinen, eine Sprache einer anderen vorzuziehen. Aber er ist nicht so oberflächlich, wie es klingt: Wenn man programmiert, verbringt man mehr Zeit damit, Code zu lesen, als ihn zu schreiben. Man schiebt Klumpen von Quellcode herum, so wie ein Bildhauer Klumpen von Ton. Eine Sprache also, die den Quellcode hässlich macht, ist für einen anspruchsvollen Programmierer eine Qual, so wie Ton voller Klumpen es für einen Bildhauer wäre.

Wenn man von hässlichem Quellcode spricht, denken die Leute natürlich sofort an Perl. Aber die oberflächliche Hässlichkeit von Perl ist nicht die Art von Hässlichkeit, die ich meine. Echte Hässlichkeit liegt nicht in einer rauen Syntax, sondern darin, Programme aus den falschen Konzepten aufbauen zu müssen. Perl mag wie eine Comicfigur aussehen, die flucht, aber es gibt Fälle, in denen es Python konzeptionell übertrifft.

Zumindest bisher. Beide Sprachen sind natürlich bewegliche Ziele. Aber sie teilen, zusammen mit Ruby (und Icon, und Joy, und J, und Lisp und Smalltalk), die Tatsache, dass sie von Leuten geschaffen wurden und verwendet werden, denen Programmieren wirklich am Herzen liegt. Und das sind in der Regel diejenigen, die es auch gut machen.