PHP, Python, Ruby, Java

Web-Programmiersprachen im Vergleich

Donnerstag, 14.07.2011 | 10:19 von Bernhard Steppan
© © iStockphoto.com/DSGpro
Wer Web-Anwendungen entwickeln will, braucht die richtige Werkzeugumgebung. Wir haben die beliebten Skriptsprachen PHP, Python und Ruby sowie die Compiler-Sprache Java verglichen.
Um die richtige Technik für die Entwicklung von Web-Anwendungen zu finden, gilt es zunächst, einen relativ unübersichtlichen Markt zu durchschauen: Das Spektrum reicht von diversen Skriptsprachen über Microsofts .NET bis hin zu Sprachen für die Java-Plattform. Bei der Entscheidung für eine Sprache muss man aber die spezifischen Gegebenheiten in einer Firma berücksichtigen.

Skriptsprachen stehen in dem Ruf, die Web-Entwicklung zu beflügeln, weshalb deren Verfechter die Nicht-Skriptsprache Java für träge und umständlich halten. Dieser Ruf von Java rührt aus den Anfangsjahren, als selbst die Entwicklung einer einfachen Web-Anwendung nach der Maxime "Run once, test anywhere" verlief. Schon mit der zweiten Java-Generation und der Trennung von Logik und Darstellung begann Java zunehmend auch für Web-Designer interessant zu werden. Moderne Frameworks wie JavaServer Faces, Google Web Toolkit oder Apache Wicket verringerten den Abstand zu agilen Skriptsprachen weiter.

So greifen Sie mit PHP auf Formularvariablen zu

Java-Anwendungen sind geradezu beliebig erweiterbar, was sich zunächst einmal wie ein großes Plus anhört - aber weniger wäre manchmal mehr. Einsteiger drohen in der Flut der Java-Frameworks zu versinken. Für den Profi bietet Java für jede Aufgabe eine passende, gute Lösung. Die Dokumentation der Bibliotheken ist meistens exzellent, die Anzahl der professionellen Buchveröffentlichungen enorm hoch.

Java gehört zu den am besten lesbaren Programmiersprachen. Durch die objektorientierte Programmierung mit der sehr guten Modularisierung ist es leicht, wartungsfreundliche Web-Anwendungen zu entwickeln. Ob das in der Praxis auch gelingt, hängt wie bei den anderen hier vorgestellten Techniken stark von der Ausbildung der Entwickler im guten Design ab. Die leichte Erweiterbarkeit von Java-Anwendungen führt bei unreflektiertem Einsatz schnell zu extrem komplexen Programmen mit unangemessen hohen Wartungsaufwänden.

Laut W3Tech-Analyse steht PHP an erster Stelle unter den
für Websites verwendeten Server-seitigen
Programmierspachen.
Vergrößern Laut W3Tech-Analyse steht PHP an erster Stelle unter den für Websites verwendeten Server-seitigen Programmierspachen.

Java wird immer mit Robustheit gleichgesetzt, unter anderem, weil es eine Compiler-Sprache ist, wegen der bekannten Typsicherheit, des Exception-Handling-Konzepts und der ausgereiften Laufzeitumgebungen. Trotzdem bleibt festzuhalten, dass die genannten Konzepte für Java-Web-Oberflächen nur bedingt greifen. Präsentation beziehungsweise Steuerung ist bei Java-Web-Anwendungen unter Umständen weit weniger robust als der klassische Java-Code. Je nach Version der verwendeten Web-Frameworks und dem verwendeten Technik-Mix (Javascript) kann die Steuerung und Präsentation einer Java-Anwendung durchaus Probleme bereiten. Der Testaufwand ist nicht zu unterschätzen.

Javascript für die Server-Programmierung

Java-Code haftet auch der Ruf an, langsam zu sein. Das liegt an vielen Dingen, manche davon sind Missverständnisse, andere wiederum wahr, so etwa die schwache Performance von EJB 1.0. Tatsache ist, dass Java-Programme bei schlechtem Design sehr langsam sein können. Bei gutem Design sind sie hingegen heute weit schneller als alle anderen hier genannten Techniken und liegen fast im Bereich von nativen C-Programmen.

Die Java-Laufzeitumgebungen von einfachen Servern wie Tomcat und Jetty bis hin zu Enterprise-Application-Servern wie IBM WebSphere und Oracle WebLogic garantieren bei richtigem Design eine erstklassige Performance, sehr gute Überwachbarkeit sowie eine Skalierung, die für die größten Web-Anwendungen ausreicht. Selten findet man jedoch Experten, welche die Vielfalt des Marktes beherrschen, das Tuning von Anwendungen verstehen und darüber hinaus wissen, wann man welche Umgebung unter bestimmten Voraussetzungen einsetzt. So können zum Beispiel die Kosten für das Hosting und die Lizenzen einer Java-Web-Anwendung ähnlich gering ausfallen wie beim Einsatz von PHP oder sehr teuer sein.

Donnerstag, 14.07.2011 | 10:19 von Bernhard Steppan
Kommentieren Kommentare zu diesem Artikel (0)
1061214