PHP, Python, Ruby, Java: Web-Programmiersprachen im Vergleich Detail - Computerwelt

Computerwelt: Aktuelle IT-News Österreich


14.08.2011 Bernhard Steppan*

PHP, Python, Ruby, Java: Web-Programmiersprachen im Vergleich

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. Auch Wettbewerbe wie der Plat_Forms Context helfen nur bedingt bei der individuellen Auswahl, können diese Vergleiche doch weder die spezifischen Gegebenheiten in einer Firma berücksichtigen noch eine individuelle Gewichtung ersetzen.

Skriptsprachen stehen in dem Ruf, die Web-Entwicklung zu beflügeln, weshalb deren Verfechter 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.

JAVA 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.

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.

Gutes Design, gute Performance 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 Hos-ting und die Lizenzen einer Java-Web-Anwendung ähnlich gering ausfallen wie beim Einsatz von PHP oder sehr teuer sein.

Hervorragende Tools-Landschaft Eclipse und Netbeans sind in Java implementierte Entwicklungswerkzeuge, die nicht nur beweisen, dass man in Java hervorragende Programme entwickeln kann. Die IDEs gehören zudem auch zu den besten überhaupt erhältlichen Tools. Gerade diese ausgereiften quelloffenen Entwicklungsumgebungen und die Möglichkeiten der Fehlersuche sowie der nahtlosen Einbindung von Fremdwerkzeugen wie Build-, Test- und UML-Tools ist eine der großen Stärken von Java.

Unterm Strich ist festzuhalten, dass man relativ viel Know-how benötigt, um hochklassige Java-Web-Anwendungen zu schreiben. Ist dieses Wissen vorhanden, muss sich die Leistung einer solchen Anwendung hinter keiner verstecken, die mit einer anderen Technik entwickelt wurde.

PHP PHP ist ungefähr zur selben Zeit wie Java entstanden und heute unangefochten die Nummer eins unter den Techniken für Web-Anwendungen. Gerade in der Lamp-Kombination (Linux, Apache, MySQL und PHP) kommt die Skriptsprache auf mehr Web-Servern zum Einsatz als alle anderen hier genannten Verfahren. Das liegt sicher zu einem Großteil an dem geringen Entwicklungsaufwand für PHP-Anwendungen, zum Teil aber auch an anderen Merkmalen.

Für viele Entwickler bietet PHP genau das, was sie brauchen: ein performantes Datenbanksystem, einen ebenfalls performanten Web-Server und ein stabiles, kos-tenfreies Betriebssystem. Es gibt zwar mehrere Alternativen zum genannten Rüstzeug einer PHP-Anwendung, aber Entwickler werden fragen: wozu das? Das bedeutet nicht, dass PHP inflexibel ist. Es lässt sich um viele nützliche Bibliotheken erweitern, so zum Beispiel um eine Datenbank-Abstraktionsschicht mit PDO, um diverse Widget-Sammlungen, oder man verwendet gleich eine Kombination von Frameworks à la Symfony.

Viele Lücken sind geschlossen Die Wartungsfreundlichkeit eines Programms geht mit der Unterstützung von gutem Design und guter Lesbarkeit einher. PHP wurde erst spät um heute selbstverständliche Konzepte wie objektorientierte Programmierung, Namespaces und Datenbankabstraktion erweitert. Solche und andere Lücken wurden mittlerweile immer mehr geschlossen. Der Tribut der späten Entwicklung ist, dass PHP zeitweise wild gewachsen ist, was die Lesbarkeit teilweise erschwert und zu uneinheitlichen Programmen führen kann.

PHP bildet in vielen Vergleichen das Schlusslicht in puncto Robustheit. Die schwache Typisierung der Sprache ist Teil des Konzepts, aber eben auch Fehlerquelle. Es ist ein prinzipieller Unterschied, ob Fehler zur Laufzeit oder zur Entwicklungszeit auftreten und gefunden werden können. Tatsache ist, das PHP ein Auffinden von Fehlern zur Entwicklungszeit nicht so gut unterstützt, wie es beispielsweise strikt typisierte Compiler-Sprachen erlauben.

Diesen Artikel

Bewertung:

Übermittlung Ihrer Stimme...
Noch nicht bewertet. Seien Sie der Erste, der diesen Artikel bewertet!
Klicken Sie auf den Bewertungsbalken, um diesen Artikel zu bewerten.
  Sponsored Links:

IT-News täglich per Newsletter

E-Mail:
Weitere CW-Newsletter

CW Premium Zugang

Whitepaper und Printausgabe lesen.  

kostenlos registrieren

Aktuelle Praxisreports

(c) FotoliaHunderte Berichte über IKT Projekte aus Österreich. Suchen Sie nach Unternehmen oder Lösungen.

Zum Thema

  • free-com solutions gmbh

    free-com solutions gmbh Werbewirtschaft, Wasser- und Energieversorgung, Vereine und Verbände, Umweltschutz, Touristik, Personenverkehr, Öffentliche Verwaltung,... mehr
  • ITSDONE GRUPPE

    ITSDONE GRUPPE Office Software, Kaufmännische Software (ERP), Datenbanken, Server-Betriebssysteme, Programmiersprachen, Betriebssysteme für PCs, Netzwerk- und Systemüberwachung,... mehr
  • Dimension Data Austria GmbH

    Dimension Data Austria GmbH Call Center, IKT-Consulting, Migrations-Management, Outsourcing, Systemintegration und Systemmanagement, Systempflege- und Wartung mehr
  • KORAM Softwareentwicklungsgesellschaft m.b.H:

    KORAM Softwareentwicklungsgesellschaft m.b.H: Betriebsdaten- und Zeiterfassung, Kaufmännische Software (ERP), Management Informationssysteme (MIS), Bauwesen, Einzelhandel, Fertigung, Produktion und Konstruktion, Freie Berufe,... mehr

Hosted by:    Security Monitoring by: