# [Web 2.0] Java vs PHP



## black666 (16. Dez 2009)

Hey!

Ich hatte heute auf nem Java Stammtisch eine nette Diskussion. Es ging um richtig große Community / Web 2.0 Seiten mit ordentlich Traffic .. und eben die Frage, welche Sprache hierfür am besten ist. Sieht man sich ein paar prominente Beispiele an (Facebook, digg.com, wikipedia,...) so kommt man zum Eindruck, dass hier größtenteils PHP zum Zug kommt (bei den 3 Beispielen weiß ich es jedenfalls). Und es handelt sich hier um Seiten die mehrere tausend Requests in der Sekunde verzeichnen. Eine Java Page mit Requests im Umfang von Facebook & co fällt mir auf Anhieb jedoch nicht ein...

Stellt sich natürlich die Frage: Ist Java für Web 2.0 mit einer hohen Userbasis ungeeignet? Warum scheint PHP hier die Hauptrolle zu spielen? Wenn man eine Web 2.0 / Social Community Page aufziehen möchte, ist man dann mit PHP besser beraten?


----------



## ModellbahnerTT (16. Dez 2009)

Würde sagen Scala, Python und Ruby (on Rails) (laufen beide auf der JVM) haben gegenüber Java & PHP simplen Webseiten in dem Bereich die Nase vorn.

> Eine Java Page mit Requests im Umfang von Facebook & co fällt mir auf Anhieb jedoch nicht ein...
Hm, ebay, amazon, ... ? Oder sind die dir nicht 2.0 genug? ;(


----------



## mvitz (16. Dez 2009)

Meiner Meinung nach ist die dominanz von PHP einfach auf die historische Entwicklung zurückzuführen. PHP ist einfach primär für die Webentwicklung entworfen, ist schon seit Jahrzehnten bekannt und man kann damit einfach super schnell Ergebnisse erzielen. Zudem sind PHP Hoster wesentlich verbreiteter.

Heute gibt es gerade bei den großen Seiten wohl eine Vielzahl von Implementierungen, MS hat seine Seite z.B. mit ASP.NET, ich habe auch schon diverse Java-Seiten gesehen, Xing z.B. besteht aus Perl und RoR Code, ...

Edit: Was nun für einen selber die Wahl angeht, ich persönlich würde grundsätzlich dazu raten, die Sprache zu benutzen, die man am besten beherrscht. Auch RoR, Groovy, Scala (Lift) sind keine Allzweckwaffen, ganz davon abgesehen, dass man im Java Umfeld eine eh sehr große Auswahl an Webframeworks besitzt.

Edit2: Und für PHP gibt es mittlerweile ja auch dutzende Webframeworks.


----------



## black666 (17. Dez 2009)

ModellbahnerTT hat gesagt.:


> > Eine Java Page mit Requests im Umfang von Facebook & co fällt mir auf Anhieb jedoch nicht ein...
> Hm, ebay, amazon, ... ? Oder sind die dir nicht 2.0 genug? ;(



Woher hast du denn die Infos? Gerade bei Amazon hätte ich noch nie etwas über die verwendeten Technologien gelesen .. und bei Ebay glaube ich mich dran zu erinnern, dass es sich nur um ne Menge CGI Skripte handelt, die im Hintergrund C++ Services aufrufen.


----------



## noobadix (17. Dez 2009)

Ist nicht der Hauptgrund der, dass mehr Browser von sich aus php "können", aber für javascript oft zusätzliche, lizensierte Software installiert werden muss?

Ich habe java als irgendwie gefährlicher beschrieben gehört...ist aber mehr Einbildung.

Ist php nicht performanter, weil nur auf dem Server ausgeführt?

Das sind so meine Eindrücke, vielleicht mag mein Halbwissen wer kommentieren?


----------



## gizmo (17. Dez 2009)

noobadix hat gesagt.:


> Ist nicht der Hauptgrund der, dass mehr Browser von sich aus php "können", aber für javascript oft zusätzliche, lizensierte Software installiert werden muss?
> 
> Ich habe java als irgendwie gefährlicher beschrieben gehört...ist aber mehr Einbildung.
> 
> ...


Sorry, aber Halbwissen ist etwa das Einzige was an deinem Beitrag stimmt...


----------



## noobadix (17. Dez 2009)

Dann räumen wir mal auf?

Warum kann ich JavaScript im Browser deaktivieren, php nicht?


----------



## gizmo (17. Dez 2009)

Na gut, dass JavaScript im Browser und PHP auf dem Server ausgeführt wird, stimmte auch. Es ging aber um Java, nicht um JavaScript.

PHP und JavaScript lassen sich schlecht vergleichen, da es unterschiedliche Technologien sind, welche sich auch nicht ausschliessen, sondern ergänzen.

Für alles Weitere hilft Wikipedia.


----------



## noobadix (17. Dez 2009)

Ok, wie steht es mit der Rechtslage was Lizenzen betrifft?


----------



## gizmo (17. Dez 2009)

Steht eigentlich auch auf Wikipedia...

PHP hat nichts mit dem Browser zu tun, da es wie gesagt auf dem Server läuft. PHP ist OpenSource.

JavaScript ist standardisiert und es gibt OpenSource Implementationen. Es wird von allen modernen Browsern unterstützt.


----------



## tfa (17. Dez 2009)

black666 hat gesagt.:


> Woher hast du denn die Infos? Gerade bei Amazon hätte ich noch nie etwas über die verwendeten Technologien gelesen .. und bei Ebay glaube ich mich dran zu erinnern, dass es sich nur um ne Menge CGI Skripte handelt, die im Hintergrund C++ Services aufrufen.



Damals, in der Urzeit von ebay. Mittlerweile (d.h. vor einigen Jahren) sind sie auf Java umgestiegen:

http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf
eBay is Java Powered


----------



## ARadauer (17. Dez 2009)

PHP hat sich seine Verbreitung schon verdient.
Das ist halt extrem simpel. index.php mit <?php echo "geil"; ?> und das läuft...
Die Software die für PHP existiert ist auch gewaltig. Die ganzen Foren, CMS, Shops und Blog Systemen.. da hat man überall eine rießige Auswahl mit rießigen Communities dahinter.. für Java gibts da leider wenig vergleichbares...

Java deckt halt eher den Business Bereich ab und PHP den Privat Bereich... das wird sich auch so schnell nicht ändern...
Java im Webbereich ist einfach zu complex für die breite Masse und da werden einene haufen Webframeworks oder neue Sprachen die auf die VM aufsetzen auch nichts daran ändern...


----------



## ARadauer (17. Dez 2009)

aja



> Ist nicht der Hauptgrund der, dass mehr Browser von sich aus php "können", aber für javascript oft zusätzliche, lizensierte Software installiert werden muss?


Ich würd mir da nochtmal die Grundlagen ansehen. Der Unterschied zwischen JavaScript und PHP und Java ist gewaltig. PHP interessiert den Browser überhaupt nicht, das macht alles der Server


----------



## cimnine (17. Dez 2009)

Soviel ich weiss benutzt Facebook nicht ausschliesslich PHP. Die Suche ist beispielsweise nicht in PHP geschrieben, leider kann ich aber den Artikel nicht mehr finden, wo ich das gelesen habe.

Google benutzt sehr viel Java und Python. Nicht zuletzt desshalb unterstütz der Google Cloud Service («Google App Enginge») seit launch Java & Python. Auch Googles GWT («Google Web Toolkit») setzt auf Java - und darin ist zB Googles Wave implementiert.
Als Backend ist Google bekannt dafür auf MySQL und Linux zu setzten, falls das auch interressiert.

Microsoft setzt bei seinen Seiten auf das Hauseigene .NET - Framework. Hauptsächlich kommt asp.NET zum Einsatz.

MySpace basiert neben Flash für Client-Inhalte auf Coldfusion von Adobe (früher Macromedia).

Viele Unternehmen setzten für Ihre (meist internen) Business-Anwendungen auf Java, sofern Sie Ihre Dienste nicht bei SAP einkaufen. Viele eBanking-Applikationen (zumindest von Schweizer Bankedn) sind in Java implementiert.

Ich denke, wer von Anfang an weiss, dass er eine riesen Site mit vielen Millionen visits pro Tag hat, sollte auf eine Umgebung wie Java setzten. Diese kann man meines Erachtens nach einfacher skalieren und es ist nicht schwer Clusters zu bilden. Zudem ist die Codebasis in Java sehr einfach zu warten, es gibt Libraries für alles, und refactoring, was garantiert von Zeit zu Zeit gemacht werden muss, ist dank modernen IDEs wie Eclipse ein klacks.


----------



## ice-breaker (17. Dez 2009)

cimnine hat gesagt.:


> Soviel ich weiss benutzt Facebook nicht ausschliesslich PHP. Die Suche ist beispielsweise nicht in PHP geschrieben, leider kann ich aber den Artikel nicht mehr finden, wo ich das gelesen habe.



Also da ich Web-Applikationen nur in PHP umsetze, melde ich mich mal zu Wort und beschreibe es mal.
Prinzipiell bauen wir alles, was sinnvoll mit PHP gebaut werden kann, direkt in PHP.
PHP ist einfach eine Sprache nach dem Request-Response-Modell, es gibt einen Request, es wird alles abgearbeitet, da Skript beendet und der Webserver sendet alles zum Client.

Dies macht PHP zu einer einfachen Sprache für so ziemlich jede Web-Anwendung, aber eben auch nicht zur perfekten für alles. Wie funktioniert dieses Forum? Wir senden unsere Anfragen (schauen in ein Forum/Beitrag, Senden eines Beitrags usw), alles wird abgearbeitet und wir bekommen unsere Antwort.

Was PHP aber eben nicht kann, ist Dinge asynchron erledigen oder ähnliches, da greifen wir dann auf Java oder andere Software zurück, Message-Queues (ein Daemon) sind mit einem Request-Response-Modell nicht umsetzbar, deswegen bedienen wir uns da der wunderbaren Java-Software, dank schöner Schnittstellen lassen die sich auch aus anderen Sprachen nutzen.
Oder auch Suchengines wie Lucene oder Sphinx lassen sich in PHP nicht sinnvoll implementieren, also greifen wir da auch auf fertige Software.

Wir machen eben die sinnvollen Sachen, die man mit PHP machen kann, in PHP, für den Rest (sofern er benötigt wird) greift man dann auf andere Sprachen zu.

Das ist auch der Grund warum Anwendungen wie studivz, facebook, wikipedia, digg, flickr oder yahoo  nicht nur rein aus PHP bestehen, es wird nur für den "simplen" Part genutzt, alles was sich "einfach" auf Request-Response runterbrechen lässt.


----------



## bronks (17. Dez 2009)

tfa hat gesagt.:


> Damals, in der Urzeit von ebay. Mittlerweile (d.h. vor einigen Jahren) sind sie auf Java umgestiegen:
> 
> http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf
> eBay is Java Powered


Das glaube ich erst, wenn ich es mit eigenen Augen sehen kann. Was ich zu sehen bekomme ist ausschließlich und nur
h ttp://cgi.ebay.de/ws/*eBayISAPI.dll*?ViewItem&ite


----------



## mvitz (17. Dez 2009)

Von der URL auf eine Technik zu schließen ist aber auch fragwürdig. Ebay kann wohl kaum sämtliche URLs komplett ändern, nur um von einer auf eine andere Technologie zu wechseln.


----------



## faulelotte (17. Dez 2009)

Bezüglich Ebay.de :

Server: Apache-Coyote/1.1

Der Server der das ausgeliefert hat ist also schon mal ein Tomcat. Also werden die zu einem gewissen Teil schon Java verwenden. 

Ebenfalls nutzen Infoq.com, Sun z.B. für das Forum Java, TUI nutzt Struts. Und ich glaube auch Guardian.co.uk (immerhin Europas größte Online Zeitung) nutzt seit dem Redesign Java.


----------



## Torsten (17. Dez 2009)

bronks hat gesagt.:


> Das glaube ich erst, wenn ich es mit eigenen Augen sehen kann.



Nun, ob du es glaubst oder nicht, wenn nichts dran wäre, dürfte Sun mit Sicherheit diese Behauptung nicht aufstellen:
eBay is Java Powered


----------



## ModellbahnerTT (17. Dez 2009)

bronks hat gesagt.:


> Das glaube ich erst, wenn ich es mit eigenen Augen sehen kann. Was ich zu sehen bekomme ist ausschließlich und nur
> h ttp://cgi.ebay.de/ws/*eBayISAPI.dll*?ViewItem&ite


lol, hier was über die akaktuelle Architektur von ebay: Eclipse at eBay, Part 1: Tailoring Eclipse to the eBay architecture
Und wenn ebay asp.net  (oder gar c++) basiert wäre, würden die URLs normalerweise auch nicht über irgendwelche angeblichen DLLs laufen.


----------



## Dimarzio (18. Dez 2009)

bronks hat gesagt.:


> Das glaube ich erst, wenn ich es mit eigenen Augen sehen kann. Was ich zu sehen bekomme ist ausschließlich und nur
> h ttp://cgi.ebay.de/ws/*eBayISAPI.dll*?ViewItem&ite



He he, gerade noch wollte ich schreiben, dass e-bay längst auf Java umgestiegen ist und das lässt sich hervorragend schon an URL erkennen!
Da ist noch ein interesanter Link: E-bay Architektur


----------



## byte (18. Dez 2009)

Dimarzio hat gesagt.:


> He he, gerade noch wollte ich schreiben, dass e-bay längst auf Java umgestiegen ist und das lässt sich hervorragend schon an URL erkennen!
> Da ist noch ein interesanter Link: E-bay Architektur



Ziemlicher interessanter Link! Danke dafür.


----------



## Sonecc (18. Dez 2009)

sry, aber ebay als beispiel für eine java basierte seite zu liefern... weiß nicht, ob das ein gutes argument für java ist..
Ich persönlich kann Ebay nicht leidern, bzgl des Aufbaus, und der Seite an sich.
Es gibt zig seiten, die deutlich besser gemacht sind und deutlich besser funktionieren, als es bei ebay der fall ist, aber darüber lässt sich vermutlich auch wieder zu genüge streiten.


----------



## byte (18. Dez 2009)

Ebay ist einer der Big Player mit massig Traffic. Klar ist das ein gutes Beispiel für Java. Es geht dabei ja jetzt weniger darum, wie die Oberfläche aussieht. Das ist sowieso eine Kombination aus HTML, CSS und JS. Und ob die dynamischen Inhalte nun von Java, PHP oder ASP.NET kommen, ist im Grunde irrelevant. Interessant ist halt, was dahinter passiert. Grade bei Seiten mit so hohem Traffic.


----------



## tfa (18. Dez 2009)

Sonecc hat gesagt.:


> sry, aber ebay als beispiel für eine java basierte seite zu liefern... weiß nicht, ob das ein gutes argument für java ist..


Allerdings ist es das. Eine der größten und bekanntesten Webanwendungen überhaupt läuft mit Java - wenn das kein Argument ist.

Keine Ahnung, was dein persönliches Problem mit ebay ist - kann ich nicht nachvollziehen. An Aufbau und Funktion hab ich nie auszusetzen gehabt. Vielleicht ist die Unternehmenspolitik manchmal nicht so kundenfreundlich - aber das sagt ja nichts über deren TRechnologie aus.


----------



## Sonecc (18. Dez 2009)

Ich ärgere mich andauernd mit Funktionen und "Features" die gar nicht, nur halb oder ziemlich unverständlich funktionieren...
Was sicher nicht gegen Java spricht (das wollte ich damit auch nicht sagen) sondern eher dafür, dass eben nicht alles Bonbongrün ist, wie man den Eindruck kriegen könnte.
Und ich bin sicher, dass es Seiten gibt, die ebenfalls auf Java basieren und deutlich besser sind (vor allem in punkto Funktionalität)


----------



## byte (18. Dez 2009)

Eine Kollege von mir arbeitet demnächst hier für: brands4friends - Marken zum Freundschaftspreis

Auch Java!


----------



## Dimarzio (18. Dez 2009)

Sonecc hat gesagt.:


> sry, aber ebay als beispiel für eine java basierte seite zu liefern... weiß nicht, ob das ein gutes argument für java ist..
> Ich persönlich kann Ebay nicht leidern, bzgl des Aufbaus, und der Seite an sich.
> Es gibt zig seiten, die deutlich besser gemacht sind und deutlich besser funktionieren, als es bei ebay der fall ist, aber darüber lässt sich vermutlich auch wieder zu genüge streiten.



Ah komm jetzt... Das ist jetzt eine rein subjektive Meinung. Mog i ned, will i ned...


----------



## ice-breaker (18. Dez 2009)

Ebay wird technisch wahrscheinlich eines der interessanten, wenn nicht das interessanteste Projekt, sein, denn in Realtime all dies Dinge zu realisieren, ist nicht einfach.


----------

