2010-02-05 8 views
5

Ich weiß, es ist eine heiße Frage, die anwsers brauchen ^^ Aus meiner Sicht ist die Verwendung von Java vs PHP, heute ein Problem der Systemressourcen (Hardware, Software, etc.).Struts vs Zend? Java gegen PHP?

Für Java müssen Sie J2EE-Stack (JDK, AppServer, etc.) (~ 200M) auf Ihrem Server bereitstellen, für PHP müssen Sie ein LAMP-System (~ 100M) bereitstellen. Die Verwendung von Java war meiner Meinung nach auf objektorientierte Programmierung in Webanwendungen zurückzuführen, aber heute haben wir viele objektorientierte Websprachen (Ruby, Python, PHP).

Also die Frage, wann man zwischen Java oder PHP für neue Projekte wählen kann? Vielleicht der Unterschied in der Gemeinschaft?

Ich weiß, dass stackoverflow nicht zur Diskussion gestellt wird, aber es ist eine (gute?) Frage, die Antworten brauchen (für mich und für andere vielleicht) ^^.

Antwort

7

Andere Einschränkungen werden normalerweise berücksichtigt. Dinge wie

  • Entwicklungszeit,
  • Wartungskosten der Code-Basis
  • Verfügbarkeit von qualifizierten Programmierern
  • Lohnkosten für verfügbaren qualifizierten Programmierer

um einige zu nennen.

Hardware und Software sind billig, wenn Sie sie mit den oben genannten vergleichen, so dass sie weniger wichtig sind.

+0

Ja, ich stimme dir zu, Hardware-Thema war nur ein Beispiel. – Zenithar

1

Es hängt davon ab, was Sie tun. Die Auswahl einer Sprache/eines Frameworks ohne Analyse der Projektanforderungen ist keine gute Idee.

+0

Ich weiß, aber wenn ein Projekt mit beiden Technologien realisierbar ist, welche wählen Sie? und warum ? – Zenithar

1

Die Auswahl einer Sprache hängt davon ab, was Sie tun möchten. Aber ich bin mir sehr sicher, dass die unterschiedliche Festplattenplatzanforderung der am wenigsten wichtige Aspekt Ihrer Entscheidung sein wird.

Hier ist ein möglicher Hinweis: Wenn Sie Ihre Arbeit (oder Teile davon) in einer Desktop-Anwendung wiederverwenden möchten, verwenden Sie Java. PHP ist praktisch für alles außer Web-Programmierung nicht existent.

0

Ich glaube wirklich nicht, dass es eine Frage ist, die objektiv beantwortet werden kann. Am Ende geht es um Menschen und darum, womit sie sich wohler fühlen. Deshalb ist z.B. Facebook hat eine PHP to C++ compiler entwickelt (mit der auch der Performance-Vorteil, den Java hat, kleiner werden könnte), anstatt nur C++ - Entwickler für den Job einzustellen.

Auf der anderen Seite bietet die Java-Plattform einige interessante neue Ansätze wie Grails (das ist im Grunde ein Groovy Wrapper um Spring) und Lift, sowie. Das macht die Frontend-Entwicklung schneller und einfacher (ich finde immer noch, dass dies mit plain Java sehr schwierig ist) und Sie können die Vorteile, die andere Sprachen haben, mit Ihrer bestehenden Java-Codebasis und Expertise kombinieren (die meisten der erwähnten Frameworks brauchen nicht eine J2EE-Laufzeitumgebung eine einfache Tomcat-Installation mit ca. 5M und eine installierte JRE sollte ausreichen). Es geht also nicht mehr nur um die Java-Programmiersprache.

Und wenn Sie wirklich überhaupt nicht entscheiden, können Sie einfach laufen PHP in Java (funktioniert auch für Ruby, Python, Javascript ...).

0

Ich bin nicht wirklich der Meinung, dass die Wahl einer Sprache mit Systemressourcen zusammenhängt.

Hardware ist billig und wir sind nicht in einer Zeit, in der wir uns die Systemressourcen genau anschauen müssen, wie wir es früher getan haben. Verstehen Sie mich nicht falsch: Wir müssen immer noch aufpassen, aber die Zeit, in der die Leute ihre Zeiger xorierten, um Platz zu sparen, ist vorbei (luckilly).

Und wenn Ihr Hauptanliegen Leistung ist, dann ist das Ausführen einer JVM oder einer interpretierten Sprache wahrscheinlich nicht die beste Option.

Ich glaube nicht, dass es sich um die Orientierung der Sprache per se handelt. Ok, ich weiß, PHP is not object oriented aber immer noch, Sie können jetzt OO damit codieren. Sie finden absteigende Web-Frameworks für fast jede Sprache.

Ich stimme Jacco auf seiner Liste zu.

Ein anderer Aspekt ist in der Tat die Kultur, auf die sich die Sprache bezieht.

PHP ist für Skript Kiddies. Java ist für ernsthafte, tragende Anzüge Business-Entwickler. Natürlich haben wir alle viele Gegenbeispiele, aber immer noch. Java wurde weitgehend von großen Unternehmen übernommen, die jetzt von .Net konkurrieren. Es gibt gute Gründe dafür, unter denen die Tatsache, dass es viel einfacher ist, schlechten Code in PHP als in Java (und fast jeder anderen Sprache) zu schreiben. Auf der anderen Seite ist Java nicht gerade auf die Freiheit ausgerichtet.

Wenn Ihr Projekt streng persönlich ist, können Sie wählen, was Ihrem Geschmack besser entspricht. Wenn Sie planen, sich als Team zu entwickeln, wird sich die Wahl der Sprache auf die allgemeine Stimmung/Denkweise auswirken.

Ich würde einige wichtigen Parameter mir schließlich hinzu: Spaß und Eleganz

Diese hier wieder Geschmackssache sein, aber ich habe viel mehr Spaß Codierung in Python als in C# zum Beispiel.

14

Was haben sie reden ....

Okay, JAVA einige Profis, aber es hat auch einige Nachteile. Jetzt mit PHP ist es genau das gleiche, es hat einige Profis, aber es hat auch einige Nachteile.

Leute, die sagen, PHP hat keine gute OO-Umgebung, gut tut auch Javascript! Und das ist das Herzstück aller Web 2.0-Projekte; Javascript. Das Backend wird heute mehr und mehr zu einer Ressource für das Frontend. Was Sie jetzt in JAVA tun können, können Sie in PHP 5.3 bis zu einem gewissen Grad tun. Wenn Sie ein guter Entwickler sind, werden Sie clever genug sein, Ihr Design zu abstrahieren, um es wartbar zu machen, und wenn Sie brillant sind, können Sie die Objektfreigabe in PHP anpassen und sogar verbessern, was die Mehrheit der Web- "Designer" nicht wissen - oder wagen Ich sage, verstehe. Überprüfen Sie diesen Artikel von O'Reilly ON JAVA!.

Ich entwickle sowohl in Java als auch in PHP. Ich werde immer PHP für meine Server-Seite verwenden und ich werde Java für Android-Entwicklung und Desktop-Entwicklung verwenden. (Übrigens habe ich in Java für die Backend-Entwicklung entwickelt, aber es dauert doppelt so lange in JAVA etwas zu machen als in PHP. Deshalb bleibe ich bei PHP.

Ich höre dieses Spagetti-Code-Problem mit PHP die ganze Zeit. Ja, vielleicht vor 5 Jahren! Wenn das Projekt so endet, dann ist die Person oder du, ein armer Programmierer, und du solltest bleiben, schöne Bilder zu zeichnen. Es ist leicht, deine Logik von der Präsentation zu trennen, Und es ist auch einfach, Ihre Geschäftslogik von Ihrer Datenschicht zu trennen. Denken Sie daran, bevor Sie programmieren. Öffnen Sie nicht einfach einen Notizblock und beginnen Sie mit der Eingabe. Planen Sie!Menschen, die nicht planen, planen zu scheitern! Jacco du bist auf dem Geld!

Ich sehe uni Studenten die ganze Zeit Code zu bauen, wo ich denke, "Die Person, die mit diesem Kerl enden wird, wird es bereuen". Wenn der Student nur plante und dokumentierte, was er vorhatte, war alles organisiert und bereit für die Skalierung - wieder, wenn er gut genug war.

Beide Technologien sind großartig und Sie sollten verwenden, was für Sie oder Ihre Entwickler komfortabler ist. Wenn du die Straße hinunter gehst, wo du denkst, dass einer besser ist als der andere und du nichts über diese Technologie weißt, dann rate mal, was? Egal, was Sie tun, Ihr Projekt wird verpasst, und Sie werden es am Ende wieder tun müssen.

2

Ich habe einen nicht-wissenschaftlichen Leistungsvergleich von J2EE und PHP gemacht. Der Vergleich bestand darin, die Benutzererfahrung jedes Systems unter verschiedenen Lastbedingungen zu sehen.

Ich fand, dass die Reaktionszeit von PHP sehr langsam war und die CPU sehr schnell ausstartete. Ich verstehe, dass es einige Compiler gibt, die wahrscheinlich helfen werden, aber ich wollte einen Out-of-the-Box-Vergleich der Leistung von schnellen Entwicklungssystemen machen.

Sie können die vollständigen Details lesen Sie hier: PHP vs J2EE: a Practical Approach

0

PHP gewinnt vor Ende in Web-Entwicklung. Weil es viel kleinere Entwicklungszeit hat, die Sachen billiger und billiger macht. PHP wird in der mobilen App-Entwicklung verlieren. Es gibt keine Möglichkeit, ein Frontend für mobile Apps mit PHP zu entwickeln. Und wegen seiner Leistungslücke mit Java und anderen statischen Sprachen wird PHP den Back-End-Kampf verlieren. Java ist alt, aber es hat eine ziemlich junge und professionelle Community. Sieh dir diese Namen an: Lucene, Weka, Hadoop, Scala, Cassandra, HBase, was liefert uns PHP im Backend-Service ???????