Web

PHP, Python, Ruby, Java

Web-Programmiersprachen im Vergleich

11.08.2011
Von   
Bernhard Steppan arbeitet als IT-Chefarchitekt bei DB Systel GmbH (Deutsche Bahn) in Frankfurt am Main. Er hat 100+ Artikel und zahlreiche Bücher über C++ und Java verfasst. Er betreibt mehrere Blogs, unter anderem http://steppan.net, http://artouro.org und http://tourbine.com

Performance-Unterschiede

PHP-Programme werden im Gegensatz zu Java ohne Umwege interpretiert. Bei reinen Benchmark-Vergleichen schneidet die Technologie oftmals nicht so gut ab wie die Compiler-Sprache Java. Man sollte diese Benchmark-Ergebnisse zwar nicht auf die Goldwaage legen, denn je nach Architektur der Anwendung spielen Datenbankzugriff, schnelle Web-Seitendarstellung und die Anbindung von Fremdsystemen unter Umständen eine weit größere Rolle. Aber ein gewisser systembedingter Unterschied zu kompilierten Sprachen ist dennoch nicht von der Hand zu weisen.

Verglichen mit Java wird die Skalierbarkeit von PHP unter Fachleuten schlechter beurteilt. Bei diesem Vergleich sollte man allerdings fair bleiben und sagen, dass Java-Enterprise-Application-Server mit ihren verschiedenen Möglichkeiten des Load-Balancings preislich in einer vollkommen anderen Liga spielen. Das gilt auch für das System-Monitoring, das mit der Laufzeitumgebung einhergeht. Hier hat PHP dem ausgefeilten Konzept der Java Management Extensions (JMX) wenig entgegenzusetzen.

Ausreichende Tool-Unterstützung

Die Tool-Unterstützung wurde in den letzten Jahren stark ausgebaut. So kann der PHP-Entwickler nicht nur mit proprietären Umgebungen wie Zend Studio oder klassischen Web-Tools wie Dreamweaver oder Expression Web arbeiten. Auch die beiden quelloffenen Java-Entwicklungsumgebungen Netbeans und Eclipse sowie Eclipse-Derivate wie Aptana unterstützen mittlerweile PHP. Nicht zuletzt gibt es inzwischen sogar UML-Tools, die PHP-Code einlesen und erzeugen können.

Als Fazit zu PHP lässt sich sagen: Wer eine leicht erlernbare Sprache, eine nahezu kostenfreie Laufzeitumgebung sowie viele Web-Hosting-Anbote auf PHP-Basis sucht, liegt bei PHP richtig. Die vielen Web-CMS auf PHP-Basis zeigen, welchen Schwerpunkt die Sprache hat. Bei großen, unternehmenskritischen Web-Seiten mit der Anbindung von verschiedenen Fremdsystemen spielt PHP eher eine untergeordnete Rolle.

Python

Python ist bedeutend älter als Java, aber ebenso universell ausgelegt. Die elegante objektorientierte Skriptsprache ist von Anfang an auf leichte Lesbarkeit und im Gegensatz zu Java auf syntaktische Ähnlichkeit zu Vorläufersprachen ausgelegt worden. Python ist leicht zu erlernen, besitzt wohldurchdachte, integrierte Datentypen und verwirrt nicht mit extrem vielen Frameworks und unterschiedlichen Konzepten.

Im Bereich der Erweiterbarkeit und Flexibilität kann sich Python sehr gut mit anderen Sprachen dieses Vergleichs messen. Die Anzahl der Standardbibliotheken ist gerade für die Web-Programmierung mehr als ausreichend. Mit Django gibt es zum Beispiel ein Framework mit Datenbankabstraktion und Unterstützung für Internatio-nalisierung. Die Python-Implementierung Jython geht noch einen Schritt weiter und schlägt eine Brücke von der eleganten Programmiersprache zur leichten Erweiterbarkeit der Java-Plattform.

Durchdachtes Sprachkonzept

Python-Programme gelten als sehr wartungsfreundlich. Das liegt nicht nur an der Syntax, sondern auch an dem von Anbeginn durchdachten Sprachkonzept. Gleiches gilt für die Robustheit von Programmen, denn Exception Handling war von Beginn an Bestandteil der Sprache. Wie bei allen Skriptsprachen ist die Ausführungsgeschwindigkeit nicht mit der von Compiler-Sprachen zu vergleichen. Python-Entwickler bewerten jedoch die Ausführungsgeschwindigkeit für Web-Anwendungen aufgrund der langsamen Verbindung zwischen Server und Client im WWW als eher zweitrangig. Das Prinzip ist, lieber besser lesbaren Code zu erzwingen und Performance-hungrige Anwendungsteile separat zu optimieren oder nativ zu implementieren.