Visionäre der Programmierung

Berühmte Entwickler ganz privat

16.11.2009
Von 


Simon Hülsbömer betreut als Senior Research Manager Studienprojekte in der Marktforschung von CIO, CSO und COMPUTERWOCHE. Zuvor entwickelte er Executive-Weiterbildungen und war rund zehn Jahre lang als (leitender) Redakteur tätig. Hier zeichnete er u.a. für die Themen IT-Sicherheit und Datenschutz verantwortlich.

Guido von Rossum, Python: Sinnieren und skizzieren

Wie debuggen Sie eine Sprache?

Guido: Gar nicht. Sprachdesign ist ein Bereich, in dem agile Entwicklungsmethoden einfach keinen Sinn haben - bis die Sprache stabil ist, wollen sie nur wenige Leute nutzen, aber Sie finden die Fehler in der Sprachdefinition erst, wenn Sie so viele Anwender haben, dass es zu spät ist, um etwas zu ändern.

Natürlich lässt sich in der Implementierung Vieles wie jedes normale Programm debuggen, aber das Sprachdesign selbst muss von vornherein sorgfältig entworfen sein, da seine Fehlerkosten so exorbitant hoch sind.

Gibt es ein Tool oder Features, das Sie vermissen, wenn Sie Software schreiben?

Guido: Wenn ich auf einem Computer genauso einfach Skizzen machen könnte wie mit Stift und Papier, würde ich vielleicht mehr Skizzen machen, während ich mich mit dem schwierigen Nachdenken über ein Design beschäftige. Ich fürchte, dass ich warten muss, bis die Maus allgemein durch einen Stift (oder einen Finger) ersetzt wird, mit dem auf dem Bildschirm gezeichnet werden kann. Persönlich fühle ich mich furchtbar eingeschränkt, wenn ich irgendein Zeichenprogramm auf dem Computer nutzen muss, obwohl ich eigentlich mit Stift und Papier ganz gut bin - vielleicht habe ich das von meinem Vater geerbt, der Architekt war und andauernd Skizzen machte, daher habe ich als Teenager auch immer gezeichnet.

Am anderen Ende der Skala vermute ich, dass ich nicht einmal weiß, was ich vermisse, um einer großen Codebasis zu stöbern. Java-Programmierer haben heutzutage IDEs, die schnelle Antworten auf Fragen wie "Wer ruft diese Methode auf?" oder "Wo ist diese Variable zugewiesen?" geben können. Bei großen Python-Programmen wäre das auch hilfreich, aber die notwendigen statischen Analysen sind aufgrund der dynamischen Natur von Python viel schwieriger durchzuführen.

Sie haben gesagt, dass eine Zeile Python, eine Zeile Ruby , eine Zeile Perl, eine Zeile PHP zehn Zeilen Java-Code entsprechen.

Guido: Häufig ist das der Fall. Ich denke, dass der Level in Firmenumgebungen nur der Angst sehr konservativer Manager entspricht, auch wenn es bestimmte Funktionalitätspakete gibt, die hilfreich sind. Stellen Sie sich die für IT-Ressourcen verantwortlichen Personen in einer Firma mit 100.000 Mitarbeitern vor, bei denen die IT gar nicht das Hauptprodukt ist - vielleicht bauen sie Autos, verkaufen Versicherungen oder etwas anderes, aber alles, was sie tun, betrifft irgendwie etwas am Computer. Die für die Infrastruktur verantwortlichen Personen müssen notwendigerweise sehr konservativ sein. Sie greifen lieber auf Dinge zurück, an denen große Namen stehen, wie zum Beispiel Sun oder Microsoft, weil sie wissen, dass Sun und Microsoft zwar auch andauernd etwas vermasseln, diese Firmen aber gezwungen sind, es wieder geradezurücken, auch wenn es fünf Jahre dauert.

Open Source-Projekte haben solche Beruhigungspillen für den normalen CIO bisher traditionell nicht angeboten. Ich weiß nicht genau, ob, wie und wann sich das ändern wird. Falls Microsoft oder Sun plötzlich Python für ihre jeweiligen VMs unterstützen würden, könnte es passieren, dass die Programmierer in den Firmen tatsächlich bemerken würden, dass sie durch die Verwendung fortgeschrittenerer Sprachen eine höhere Produktivität ohne irgendwelche Nachteile erreichen würden.