


25.03.2008
Das Ende von Java im Web!
Oder: Warum Community-getriebenen Dynamic Languages die Zukunft im Web gehört
Darum geht es aktuell in der Diskussion, die Andi Gutmans, PHP-Entwickler und Mitgründer von Zend, in seinem Blog angeregt hat. In dem Artikel Java is losing the battle for the modern Web. Can the JVM save the vendors? stellt Andi dabei einige recht interessante Thesen auf.
Zunächst kurz zum Inhalt
Zunächst einmal stellt Andi fest, dass Java ganz klar den Schritt ins Web verschlafen habe, insbesondere im Bereich der Business-Anwendungen. Gleichzeitig sei die LAMP-Architektur hier immer erfolgreicher geworden – gerade nach dem Platzen der .com-Blase habe sie mit ihrem niedrigen TCO punkten können.
Wo stehen wir heute?
Erwähnenswert ist auch, dass PHP dem Artikel nach heute einzigartig unter den Dynamic Languages ist (so man es denn hier hinzu rechnen möchte): Es passe wie ein Handschuh zum Web-Paradigma. Und verschiedene Umfragen hätten ebenso ergeben, dass rund 50 Prozent aller RIA-Entwickler PHP einsetzen würden. Ein Trend übrigens, der zunehmend auch durch den Einsatz von WordPress, Drupal, mediaWiki, sugarCRM & Co. gepusht werde.
Und Java? Die Reaktion aus dem Java-Lager darauf, dass sich das Web ohne sie weiterentwickelt, sind JSF, Struts oder auch das Spring MVC – ganz nett, aber aus Andis Sicht werde hier das wesentliche Problem mit Java noch außer acht gelassen. Denn die strikte Typisierung und die Natur der komplexen Architektur haben zwingend eine (im Vergleich zur Entwicklung mit dem LAMP-Stack) längere Entwicklungszeit zur Folge; zudem würde man auch erfahrenere Entwickler benötigen, um eine Anwendung erfolgreich im Markt zu positionieren.
IBMs Chief Architect für Project Zero sei denn auch einer der ersten gewesen, der öffentlich feststellte, dass man Java heute nur noch als reine Systemsprache ansehen könne – und es nicht sehr wünschenswert sei, um damit RESTful Web-Applications zu entwickeln. Eine Bankrotterklärung an Java. Damit habe es rund 10 Jahre gedauert, bis erstmals das schlechte ROI von Java im Web zugegeben wurde.
Konsequenzen
Andi sieht hier eine große Chance für die Dynamischen Sprachen. Zwar werde Java nun nicht gleich verschwinden – gerade im Bereich Enterprise IT und Business Critical Applications werden viele Anwender noch auf ihre gewachsenen Java-Strukturen bauen – jedoch wird ein bedeutender Marktanteil im Web Java vorenthalten bleiben.
Die eigentliche Frage sei nun, ob sich der nicht-Microsoft-Markt im Web auf die neuen JVM-Implementierungen der Dynamischen Sprachen (Jython, JRuby) einschieße, oder gleich zum de-facto Standard LAMP-Stack übergehe. Für letzteren zählt Andi einige Vorteile auf:
- ähnlich wie die Mono-Community hinter .NET hinterher liege, werden es auch die JVM-Implementierungen schwer haben, an die lebendige Community um den LAMP-Stack heranzureichen.
- die JVM wurde nicht in erster Linie für Dynamische Sprachen entworfen. Was im Benchmark noch funktionieren mag, kann im "real world use case" schon ganz anders aussehen. Als Beispiel sei nur der Vergleich zwischen JRuby und Ruby genannt.
- Skalierbarkeit für das moderne Web könne am besten durch C-basierte Architekturen gewährleistet werden.
- die Chipindustrie konzentriere sich heute mehr auf Multi-Core denn auf Hyper-Threading. Damit stehe der LAMP-Stack mit seiner Multi-Prozess-Architektur klar im Vorteil gegenüber einer multi-threaded Umgebung wie der JMV.
- Die Einstiegshürde sei beim LAMP-Stack deutlich niedriger – gleichzeitig ließen sich aber auch Systeme wie Yahoo! oder Facebook erstellen.
Fazit
Zusammenfassend kommt Andi Gutmans damit zu dem Schluss, dass die Dynamic Languages ganz klar zum Standard beim Web-Development werden. Die Frage sei jetzt nur noch, ob Microsoft oder die Java-Welt PHP einfach nur klonen werden, oder sich direkt auf PHP-Implementierungen konzentrieren. Ein JVM-Ansatz werde mit PHP in keinem Fall aufschließen können.
Den kompletten, englischsprachigen Artikel und die daraus entstandene Diskussion können sie natürlich auch auf Andis Blog verfolgen. Für mehr Informationen rund um die Dynamic Languages ebenso lohnend – der Besuch der Dynamic Languages World 2008 ab dem 26. Mai in Karlsruhe.
[rl]
Neuen Kommentar verfassen
hwGuy schrieb am 25.03.2008, 12:38 Uhr wenn man keine Ahnung hat...
.. einfach mal. Naja lassen wir das. Wer will PHP bitte im Produktivbereich einsetzen? Einfache Frage: ist PHP in der Lage, einfach mal eben ein Programm in seinem Zustand zu serialisieren und auf einen anderen Application Server zu spielen? Wie gut skaliert PHP? So gut wie garnicht.. Also bitte kein "PHP ist super und Java & Co. sind scheisse"-Geschrei wenn man keine Ahnung von den anderen Sprachen hat.

hwGuy schrieb am 25.03.2008, 12:38 Uhr wenn man keine Ahnung hat...
.. einfach mal. Naja lassen wir das. Wer will PHP bitte im Produktivbereich einsetzen? Einfache Frage: ist PHP in der Lage, einfach mal eben ein Programm in seinem Zustand zu serialisieren und auf einen anderen Application Server zu spielen? Wie gut skaliert PHP? So gut wie garnicht.. Also bitte kein "PHP ist super und Java & Co. sind scheisse"-Geschrei wenn man keine Ahnung von den anderen Sprachen hat.

Johan schrieb am 25.03.2008, 14:08 Uhr Das jemand wie Andi Gutmans als PHP Entwickler keine objektive Analyse vornehmen kann sollte eigentlich jedem klar sein.

Johan schrieb am 25.03.2008, 14:08 Uhr Das jemand wie Andi Gutmans als PHP Entwickler keine objektive Analyse vornehmen kann sollte eigentlich jedem klar sein.

Andi Gutmans schrieb am 25.03.2008, 19:02 Uhr Ich spreche ein bisschen Deutsch :)
I have actually developed in Websphere so I have a pretty good idea of what you get with Java. It's a good language but the development times are very long (i.e. expensive) and Java-based Web apps also have many challenges in production.
PHP definitely scales. It runs some of the highest traffic Web sites in the world including Facebook and Yahoo!
There is a reason why all the Java vendors are investing so much in dynamic languages. They realize that Java as a language doesn't cut it for Web development. It's a different paradigm and main geared towards gluing together information assets. If Java were so great for this paradigm you wouldn't see IBM, Sun, BEA and Microsoft (on .NET) investing so much in these languages.
My point is not only around dynamic languages though. I believe that by embracing the de-facto standard implementations of the languages + leveraging the significant advantages of the LAMP stack the vendors would be able to address a far greater target audience.
Andi

Andi Gutmans schrieb am 25.03.2008, 19:02 Uhr Ich spreche ein bisschen Deutsch :)
I have actually developed in Websphere so I have a pretty good idea of what you get with Java. It's a good language but the development times are very long (i.e. expensive) and Java-based Web apps also have many challenges in production.
PHP definitely scales. It runs some of the highest traffic Web sites in the world including Facebook and Yahoo!
There is a reason why all the Java vendors are investing so much in dynamic languages. They realize that Java as a language doesn't cut it for Web development. It's a different paradigm and main geared towards gluing together information assets. If Java were so great for this paradigm you wouldn't see IBM, Sun, BEA and Microsoft (on .NET) investing so much in these languages.
My point is not only around dynamic languages though. I believe that by embracing the de-facto standard implementations of the languages + leveraging the significant advantages of the LAMP stack the vendors would be able to address a far greater target audience.
Andi

oh man schrieb am 28.03.2008, 08:36 Uhr Oh Gott, ich glaube da sollte nochmal jemand die Schulbank drücken, damit er versteht was er da für einen Schwachsinn geschrieben hat.

oh man schrieb am 28.03.2008, 08:36 Uhr Oh Gott, ich glaube da sollte nochmal jemand die Schulbank drücken, damit er versteht was er da für einen Schwachsinn geschrieben hat.

anonym schrieb am 31.03.2008, 14:37 Uhr Sorry, aber PHP ist im vergleich zu JAVA nichts wert.
Nur weil es schwieriger ist, JAVA zu erlernen heisst nichts gleich dass es schlecher ist.

anonym schrieb am 31.03.2008, 14:37 Uhr Sorry, aber PHP ist im vergleich zu JAVA nichts wert.
Nur weil es schwieriger ist, JAVA zu erlernen heisst nichts gleich dass es schlecher ist.

anonym schrieb am 16.06.2008, 17:17 Uhr Es ist die Frage, was Andi mit Web meint. Die Beispiele Yahoo! und Facebook basieren meiner Ansicht nach auf Geschäftsmodellen, wo der Nutzer meist kostenlos einen Dienst in Anspruch nehmen kann und der Dienstanbieter dies über Werbung gegenfinanziert. Da bekommt das QM (aus Sicht des Anbieters) vielleicht eine niedrigere Prio, da der Kunde an einen kostenlosen Dienst nicht so hohe Erwartungen hat (also trotzdem zufrieden bleibt, wenn mal etwas nicht ganz so läuft). Da haut das dann hin mit dem niedrigen TCO.
Ich kann mir aber nicht vorstellen, dass unternehmenskritische Anwendung, die für einen Großteil der Umsätze verantwortlich sind, ernsthaft in PHP mit dem LAMP-Stack umgesetzt werden, auch wenn sie verteilt auf den Internet-Strukturen laufen (das wäre dann kein Web imo). Qualität hat halt ihren Preis, da ja auch eine gewisse Komplexität beherrscht werden muss.
Vielleicht kann man das mit einem Dönerladen vergleichen:
Der eine am Hauptbahnhof bedient hauptsächlich Laufkundschaft und gibt sich weniger Mühe als ein Laden im Wohnviertel, der seine Stammkunden bedient :)

|