Java vs. PHP

kthesun

Aktives Mitglied
Thread Starter
Dabei seit
01.06.2008
Beiträge
1.254
Reaktionspunkte
80
Hallo,

Ein Kommilitone und ich diskutieren zur Zeit darüber welche Sprache wir in einem Uniprojekt einsetzen. Konkret für das Webportal.

Ich bin der Meinung, dass PHP für alles was auch nur ein bisschen in Richtung Web 2.0 geht absolut das richtige ist. Er hingegen hält PHP für einen Riesenschrott. Er meint das Java für professionelle Seiten primär zum Einsatz käme. Ich halte das wiederum für nicht sehr klug.

Spricht irgendetwas dagegen eine Webseite mit PHP und einem gescheiten Framework zu schreiben? Was spräche für Java? Bei einem Vortrag meinte der Dozent am Rande das Java z.B. für das Portal von www.ard.de verwendet wurde...

Könnt ihr ein paar Pro/Kontra Argumente bringen?
 
Ich vermute, er meint Java ;-)
Mit Hilfe von JSP kann man in Java auch Webanwendungen entwickeln.

Zur Eingangsfrage:
Welchen Umfang hat Euer Projekt denn?
Ich entwickle sehr gern in PHP, man kann auch dort guten Code schreiben - man muss es nur nicht.
Und das ist eben der Grund, warum PHP sehr verrufen ist. Ich würde - falls ich auf PHP setzen würde - unbedingt ein MVC-Framework einsetzen, das erspart eine Menge arbeit und hält dazu an, ordentlichen OOP-Code zu produzieren.

Viele "professionelle" Seiten setzen auf PHP, Java, RoR, ASP.NET - das ist alles die Entscheidung des Entwicklers. Man kann definitiv nicht behaupten, dass eine Seite, die in PHP entwickelt wurde, schrott ist. Selbst Facebook basiert auf PHP - und das ist glaube ich groß genug, oder? ;-)

Auf der anderen Seite macht Java auch Spaß. Gerade die hervorragenden Frameworks, wie Hibernate, Spring oder Struts, vereinfachen vieles, machen aber bei einem Mini-Projekt alles andere als Sinn.

Letzendlich ist die persönliche Vorliebe entscheidend, professionelle Webanwendungen kann man sowohl in PHP als auch in Java entwickeln.
Ich würde zu der Sprache greifen, welche ich im Vorwege bereits besser kann, um mich dann eher mit Frameworks auseinanderzusetzen, als erst noch eine neue Sprache lernen zu müssen.

Übrigens: ard.de ist wirklich Java-basiert, RTL.de dahingegen PHP :p
 
Nein er meint Java (Servlets). Javascript ist Client-Side. PHP und Java Server-Side.

Welche Sprache ihr einsetzen wollt, solltet ihr euch genau dann überlegen, wenn ihr die wichtigsten Eckdaten eurer Anwendung kennt. (Auf was für einem System soll das laufen, wie soll es später skalieren, wie gut soll der Code wartbar sein,...)

PHP hat den Vorteil, dass man sehr schnell Prototypen entwerfen kann. Das gilt auch für alle anderen Skriptsprachen wie Perl, Python oder Ruby. PHP ist aber schon in sich unsicher und verleitet zum Schreiben von unsauberem und schlecht wartbarem Code.

Java ist da anspruchsvoller, gerade weil da komplexere Toolkits zum Einsatz kommen, erzeugt im Allgemeinen aber besser wartbaren Code. Am Ende liegt es aber am Entwickler, wie auch die allgemeinen Präferenzen der Sprache.
 
PHP oder JavaScript gibts doch garnicht, ist doch was ganz anderes ;)

Ich meine schon so wie es gesagt war. In unserem Team (nur Konzeption) ist gerade die Diskussion: Java oder PHP. Ich wusste nicht mal, dass man Webseiten mit Java schreiben kann, kann mir auch ehrlich gesagt momentan garnicht viel darunter vorstellen...Aber der gute ist felsenfest davon überzeugt: Kein PHP, nur Java ;) Wir besprechen das auch noch richtig, wo ich mir dann erklären lassen wollte wie das unter Java abläuft und wie er sich das vorstellt, aber ich wollt mir ein paar Meinungen einholen davor.
 
Bin selbst nur Hobby Coder und kann nicht mehr als ein bissel HTML, CSS, JS und minimal PHP. Daher sag ich mal meine Meinung aus der User Sicht.

Ich habe unter Windows ständig Java deaktiviert. Warum? Bei sind komischerweise 90 % der Viren, irgendwelche Java Minitrojaner. Nichts großartiges. Aber hin und wieder schleicht sich so ein Ding ein. Dazu finde ich persönlich Java träge und mag es an sich nicht. Es ist eine super Sache für Anwendungen. Aber Mist im Internet. Meine Meinung. Dafür liebe ich PHP. Bei gutem Code schnell und extrem flexibel.

Aber letztendlich ist es geschmackssache ... also sag deinem Freund er hat keien Ahnung :D
 
Stichwort: Java Server Pages. Dafür brauchste dann halt einen Tomcat-Server.
 
Bin selbst nur Hobby Coder und kann nicht mehr als ein bissel HTML, CSS, JS und minimal PHP. Daher sag ich mal meine Meinung aus der User Sicht.

Ich habe unter Windows ständig Java deaktiviert. Warum? Bei sind komischerweise 90 % der Viren, irgendwelche Java Minitrojaner. Nichts großartiges. Aber hin und wieder schleicht sich so ein Ding ein. Dazu finde ich persönlich Java träge und mag es an sich nicht. Es ist eine super Sache für Anwendungen. Aber Mist im Internet. Meine Meinung. Dafür liebe ich PHP. Bei gutem Code schnell und extrem flexibel.

Aber letztendlich ist es geschmackssache ... also sag deinem Freund er hat keien Ahnung :D

Sorry, aber das eine hat mit dem anderen so rein gar nichts zu tun ;-)
Es geht hier um serverseitig interpretierte Java-Anwendungen. Da wird auf deinem Rechner nichts ausgeführt, das macht alles der Webserver.
Natürlich kann man auch Desktopanwendungen in Java schreiben, aber hier gehts um Java Server Pages.
Und die Geschwindigkeit dürfte PHP in keiner Art und Weise nachstehen ...
 
Dann hab ich nichts gesagt. Trotzdem. PHP klingt toller :p

So ja jetzt wird die Argumentation billig. Aber egal ;)

Danke für die Aufklärung. Sagte ja. Bin nur Hobbyentwickler.
 
aber hier gehts um Java Server Pages.

Eher Servlets! JSP ist eher etwas als Einsprungpunkt oder für kleine Anwendungen...

Um jetzt viel Spaß zu haben und die gesammte kompetente Entwicklergemeinschaft in diesem Thread zu verwirren: JavaScript geht auch Serverside! Es ist eben doch eine ausgewachsene Programmiersprache...

Servlet Container gibt es übrigens noch mehr als Apache Tomcat. Als da wären JBoss, Sun Glassfish, IBM Websphere, Jetty,... Für jeden Geschmack und Geldbeutel etwas
 
Zuletzt bearbeitet:
Die Frage ist doch welche Umfang euer Projekt haben soll. Bei relativ kleinen Anwendungen würde ich dir PHP + Smarty Vorschlagen. Soll das Projekt allerdings größer werden un später evtl. weiterentwickelt werden (über mehrere Jahre vlt) würde ich zu Java + Spring / Struts tendieren.
 
Ich werfe an dieser Stelle mal Groovy/Grails ins Rennen. Groovy ist eine Sprache, die Java um dynamische Sprachfeatures erweitern und Grails ein Framework zur Entwicklung von Web-Applikationen, das Ruby on Rails zum Vorbild hat.
Damit hättet ihr die Vorteile von Java (Sicherheit, eine riesige Menge an ausgereiften Bibliotheken, läuft überall, wo es eine JVM gibt) und ein Framework, mit dem man gegenüber reinem Java wesentlich weniger Code schreiben muss und bei dem trotzdem eine saubere Trennung an Programmlogik und Benutzeroberfläche gegeben ist.
 
Mein Favorit ist Java. Ich würde aber für kleiner Projekte immer PHP wählen.
Aber sobald Projekte eine gewisse Größe haben verwende ich Java (J2EE). Die größe eines Projektes mache ich vom Datenmodel abhängig. Ab 30 Tabellen nehme ich immer Java. zb.: http://www.bikerzeit.at
 
Die Frage ist doch welche Umfang euer Projekt haben soll. Bei relativ kleinen Anwendungen würde ich dir PHP + Smarty Vorschlagen. Soll das Projekt allerdings größer werden un später evtl. weiterentwickelt werden (über mehrere Jahre vlt) würde ich zu Java + Spring / Struts tendieren.

Genau das ist der Knackpunkt !

Soll es schnell gehen, ist PHP und eines der komplexeren Frameworks gefragt (Smarty, cakePHP, Symfony oder das Zendframework). Liebe Java-Coder sowas gibt es durchaus für PHP auch :)

Darf es etwas länger bei der Entwicklung dauern oder/und wird das Projekt komplexer würde ich Java präferieren. Einfach weil hier andere Mechanismen zum tragen kommen die sich erst ab einer gewissen Projektgröße bemerkbar machen. Zwar sinkt die Zahl der Beschränkungen in PHP mit jeder Version stetig, trotzdem gibt es da immer noch Nachteile im Vergleich zu Java. Hat man das Budget und die Zeit so ist Java sicher keine schlechte Wahl ob man nun Struts und Spring oder Java Server Faces und Spring einsetzen mag ist da sicher Geschmacksache!

Eine gute Alternative soll auch .net sein. Hier wird wohl, ähnlich wie bei JSF, vom HTTP-Protokoll wegabstrahiert hin zum eventgetriebenen Modell. Auch das also durchaus eine Alternative wenn man schon Java in Betracht zieht.

Soll es unbedingt eine skritpgetriebene Applikation sein, dann ist auch Ruby on Rails als Konkurrenz zu PHP zu erwähnen!
Auch Rechenleistung ist dabei sicher ein Kriterium. PHP ist eher träge, Ruby schon schneller, gegen .Net und Java ist aber
bei den Skriptsprachen kein Kraut gewachsen.
Einen Abriß über die jeweiligen Vor- oder Nachteile ( wobei es da keine absoluten Gewinner gibt), findet man übrigens auch in der aktuellen iX

http://www.heise.de/ix/inhalt.shtml
 
Ich halte PHP für ein ziemlich verkorkstes Projekt. Keine wirklich klare Entwicklungslinie, ständig irgendwelche Sicherheitslücken, aufwändige Serverinstallation und Wartung (vor allem bei Updates).

Bei Java -> Tomcat oder Jetty installieren fertig.
 
Bei uns an der Uni wurde PHP vermieden. Es wurde eigentlich schon immer direkt ausgeschlossen. Ich empfehle Java Server Pages. Wenn ihr damit wenig Erfahrung habt, um so besser. Dann lernt ihr noch was für den Rest des Studiums. Schwer ist es nicht.
 
Also PHP direkt auszuschließen, halte sich für absoluten Blödsinn. Für kleinere Projekte ist PHP doch geradezu perfekt. Und ein PHP Projekt muss nicht direkt per se unsicher sein oder schlecht gecodet sein. Wer allerdings bspw. SQL-Statements aus den Paramtern der Adressleiste generiert, der sollte sich so oder so nach ner andere Beschäftigung umsehen. Dafür kann PHP nichts. Regelmäßige Update sind allerdings Pflicht (nicht nur bei PHP)
 
Ich halte PHP für ein ziemlich verkorkstes Projekt. Keine wirklich klare Entwicklungslinie, ständig irgendwelche Sicherheitslücken, aufwändige Serverinstallation und Wartung (vor allem bei Updates).

Bei Java -> Tomcat oder Jetty installieren fertig.

Amen :)

PHP hat einige ungereimtheiten in der Sprache ja! Das gilt aber für so ziemlich jede Sprache und gerade Java ist ebenfalls voll von Unstimmigkeiten!

Natürlich kann jeder sein Brot-und-Butter-Werkzeug am besten bedienen, das aber noch niemand dabei das Ei des Columbus gefunden hat erkennt man daran das es die vielen unterschiedlichen Sprachen eben alle noch immer gibt. So hat jeder Entwickler eben die Wahl sich seine Qual auszusuchen :)

evert schrieb:
Also PHP direkt auszuschließen, halte sich für absoluten Blödsinn.

sehe ich auch so! Die Fähigkeit auf Fehler und Fehleingaben zu reagieren ist Sprachenunabhängig im Hirn des Programmierers veranlagt. Entweder er tut es oder er läßt es eben, in welcher Sprache er das tut ist egal. Natürlich sind Mittel wie Exceptions dabei eine Hilfe und die Exceptions die PHP liefert nur eine halbgare Umsetzung ( warum auch immer die das gemacht haben). Solche Implementierungsbeschränkungen weist jede Sprache auf und der Enwtickler muß mit ihnen leben. Das Können fängt da an wenn man sieht wie Entwickler damit umgehen, auch das ist wieder Sprachenunabhänig ;)
Schlechten Code kann man in jeder Sprache schreiben!
 
Es gibt viele Gründe, warum PHP so aussieht wie die Sprache und ihre Laufzeit es derzeit tun. Ausschließen würde ich sie auch nicht. Ich habe schon mehrere auch komplexere Projekte in PHP geschrieben, allerdings auch in Java. Es gab mehrere Gründe, sich für die eine oder andere Sprache zu entscheiden. (Auch dritte kamen in Frage..) Kernfragen waren Entwicklunszeit und Anforderungen an das Backend und das zu verwendende Framework.

Wenn sich einem aber noch die Frage nach der Beherrschung einer Sprache stellt, sprich man müßte die Sprache oder das/die geeignete(n) Framework(s) erst noch lernen, würde ich wann immer möglich zu der bekannten Sprache greifen.
 
Zurück
Oben Unten