Loading...

DAS PYTHON-PARADOX

Original

August 2004

In einem kürzlichen Vortrag sagte ich etwas, das viele Leute verärgerte: dass man intelligentere Programmierer für ein Python-Projekt gewinnen könnte, als für ein Java-Projekt.

Ich meinte damit nicht, dass Java-Programmierer dumm sind. Ich meinte, dass Python-Programmierer intelligent sind. Es ist eine Menge Arbeit, eine neue Programmiersprache zu lernen. Und 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 sollten. Daher, was ich mangels eines besseren Begriffs das Python-Paradox nenne: Wenn ein Unternehmen sich dafür entscheidet, seine Software in einer vergleichsweise esoterischen Sprache zu schreiben, kann es bessere Programmierer einstellen, weil es nur diejenigen anzieht, die sich genug darum gekümmert haben, sie zu lernen. Und für Programmierer ist das Paradox noch ausgeprägter: Die Sprache, die man lernen sollte, wenn man einen guten Job bekommen möchte, ist eine Sprache, die die Leute nicht nur lernen, um einen Job zu bekommen.

Nur wenige Unternehmen waren bisher klug genug, dies zu erkennen. Aber es findet hier auch eine Art Selektion statt: Es sind genau die Unternehmen, für die Programmierer am liebsten arbeiten würden. Google zum Beispiel. Wenn sie Stellen für Java-Programmierer ausschreiben, wollen sie auch Python-Erfahrung.

Ein Freund von mir, der fast alle gängigen Sprachen beherrscht, verwendet Python für die meisten seiner Projekte. Er sagt, der Hauptgrund dafür ist, dass ihm der Quellcode gefällt. Das mag ein leichtfertiger Grund sein, sich für die eine Sprache gegenüber der anderen zu entscheiden. Aber es ist nicht so leichtfertig, wie es klingt: Wenn man programmiert, verbringt man mehr Zeit mit dem Lesen von Code als mit dem Schreiben. Man schiebt Code-Blöcke herum, wie ein Bildhauer Klumpen aus Ton. Eine Sprache, die den Quellcode hässlich macht, ist für einen anspruchsvollen Programmierer unerträglich, so wie Ton voller Klumpen für einen Bildhauer unerträglich wäre.

Bei der Erwähnung von hässlichem Quellcode werden die Leute natürlich an Perl denken. Aber die oberflächliche Hässlichkeit von Perl ist nicht die Art, die ich meine. Echte Hässlichkeit ist nicht eine harte Syntax, sondern die Notwendigkeit, Programme aus den falschen Konzepten heraus aufzubauen. Perl mag wie eine Comicfigur aussehen, die flucht, aber es gibt Fälle, in denen es Python konzeptionell übertrifft.

Jedenfalls 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 Menschen geschaffen und verwendet werden, die sich wirklich um das Programmieren kümmern. Und das sind in der Regel diejenigen, die es gut machen.