Freitag, Juni 29, 2007

Java zu komplex?

Die Komplexität von Java habe ich in diesem Blog schon mehrfach angesprochen. Jetzt hält mein Ex-Kollege Niko Wulff dazu einen Vortrag auf der W-JAX 2007: Die Grenzen der Komplexität.

Und dann berichtet die Computerzeitung über einen Programmierwettbewerb namens Platforms, an dem unter anderem Teams in Java und PHP programmiert haben. Das Beste Team war ein Java-Team, aber die anderen beiden Java-Teams sind anscheinend an der Komplexität gescheitert. Die drei PHP-Teams hatten wohl durchweg gute Ergebnisse.

Das erinnert mich sehr an einen frühen Performancevergleich zwischen C++ und Java. Dort war das beste C++-Programm um Größenordnungen schneller als das beste Java-Programm. Allerdings waren die Java-Programme im Durchschnitt leicht schneller als die C++-Programme. Die Begründung ist einfach: Mit C++ konnte man viel performantere Programme schreiben als in Java. Allerdings muss man dafür soviel an Komplexität beherrschen, dass die meisten Entwickler mit C++ sehr langsame Programme geschrieben haben.

So hört es sich jetzt auch mit Java und PHP an: Mit Java kann man bessere Systeme schreiben als mit PHP. Allerdings können nur wenige Entwickler die Komplexität von Java so gut beherrschen, dass das auch gelingt.

Jetzt haben wir wahrscheinlich nur das Problem, dass alle Entwickler glauben, sie würden zu den wenigen gehören, die die Komplexität beherrschen. Die Statistik sagt aber was anderes. Die sagt: "Was auch immer Du denkst. Wahrscheinlich bist Du nicht in der Lage, die Komplexität zu beherrschen."

Daher mache ich hier mal den Anfang: Mich überfordert das ganze Zeugs rund um EJB, WSDL, SOAP, WS-*, JTA, JAAS, extends und super bei den Generics, geheimnisvolle Compilefehler rund ums Autoboxing, Abhängigkeitswirren bei Classloadern, etc. Natürlich kriege ich es letztlich dann doch ans Laufen. Aber die Zeit dafür würde ich lieber in die Entwicklung kundennützlicher Features investieren.

Post bewerten

Keine Kommentare: