Stefan Fischerländer’s Blog One Blog Is Not Enough

Plat_Forms: Java vs. Perl vs. PHP

Im Januar traten in Nürnberg neun Teams zu je drei Personen zum Plat_Forms-Wettbewerb 2007 an. Ziel der Veranstaltung ist, Aufschlüsse über die Nützlichkeit der verschiedenen Technologien für die Webentwicklung zu erhalten. Dazu wurden für Java, Perl und PHP jeweils drei Teams eingeladen, innerhalb von 30 Stunden eine vorgegebene (natürlich Web2.0-artige) Webanwendung zu entwickeln. Die detaillierten Ergebnisse sind nun auf der Plat_Forms-Website abzurufen.

Zwar kürten die Veranstalter keine Technologie als Sieger, allerdings ergaben sich viele interessante Rückschlüsse. So gelang es lediglich einem Team in den vorgegebenen 30 Stunden nahezu alle Anforderungen umzusetzen; dabei handelte es sich um ein Java-Team. Die PHP-Teams lagen bei jeweils etwa 60 Prozent, die Perl-Teams kamen auf jeweils ungefähr 40 Prozent. Die beiden restlichen Java-Teams bildeten in dieser Wertung das Schlusslicht und kamen auf lediglich 20 bzw. 10 Prozent; offenbar hatten beide Teams mit technischen Problemen zu kämpfen.

Bei den Lösungen der Perl-Teams fiel auf, dass die via WSDL zu realisierenden Webservices nahezu nicht umgesetzt waren. Dies liegt an den für Perl fehlenden geeigneten WSDL-Modulen; der Veranstalter des Wettbewerbs sprach in diesem Zusammenhang denn auch davon, dass Perl durch den hohen Anteil an WSDL-Anforderungen als benachteiligt hätte bezeichnet werden können.

Einen erheblichen Unterschied in den Lösungen für die einzelnen Technologien bildete der Umgang mit möglichen Angriffen. Dem Report zufolge schnitten hier die Perl-Lösungen deutlich am Schlechtesten ab. Allerdings erklärte ein Mitglied eines Perl-Teams, dass sie sehr wohl Vorkehrungen gegen Attacken getroffen hätten und der Bericht des Veranstalters an dieser Stelle fehlerhaft sei. An den Lösungen der Perl-Teams war eine nachträgliche Änderung der Spezifikation am leichtesten möglich, für die Java-Applikationen hingegen war der dazu nötige Aufwand am größten.

Spannend ist, dass die drei PHP-Teams in den verschiedensten Kriterien nahezu gleich gut bzw. schlecht abschnitten, die PHP-Lösungen mithin also am homogensten ausfielen. Dies sehe ich als großen Vorteil für eine Technologie an, denn Neueinsteiger sind dadurch viel leichter in ein laufendes Projekt zu integrieren. Perls Philosophie der vielen möglichen Realisierungswege steht hierzu in einem deutlichen Gegensatz. Dass allerdings ausgerechnet die Java-Lösungen allesamt den höchsten Anteil an “schlechtem” Code aufwiesen, überrascht mich denn doch. Schließlich wird ja Java stets als eine Technologie gepriesen, die zu “guter” Programmierung zwingt.

2 Responses to “Plat_Forms: Java vs. Perl vs. PHP”

  1. ich says

    Meiner Meinung fehlt ein wichtiger Punkt. Es wurde anscheinend kein Wert auf Unit-Testing gelegt….

  2. Stefan says

    Danke, das ist ein guter Punkt. Unit-Tests werden gerne vernachlässigt. Ich seh’s an mir selbst, ich muss mich auch immer dazu zwingen – und nicht immer bin ich siegreich dabei.

Leave a Reply