PHP vs. JavaServerPages



  • Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum Webzeugs verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    SirLant schrieb:

    Verwendest du kein mod_php für große Projekte?

    PHP ist verdammt lahm, siehe "Language Shootout" - ohne PHP Accelerator läuft da nicht viel.

    Wir haben einen 4 PC Cluster, jeder ordentlich Leistung drauf (ka wieviel genau, bin ja nicht der Admin ;)) und wir haben teilweise bis zu 7 sekunden Scriptlaufzeit.

    Deswegen müssen wir immer wieder den PHP Code optimieren und es auf 5 sekunden drücken... Was dann aber sowieso 10 sekunden für den User sind 😞

    Mit JSP würde sowas nicht passieren... Deshalb wird PHP ja auch nicht von den großen Webportalen verwendet 😉



  • Noch ein weiterer Vorteil von JSP/Servlets: Durch die gute Objektorientiertheit von Java, kann man wunderbar große und auch riesige Projekte pflegen und erweitern.

    @Shade: Nicht schlecht... Um was handelt es sich bei diesen Skripten? Oder liegt es an der Masse der Anfragen?

    Grüssle



  • SirLant schrieb:

    Und als professioneller Webdesigner hast du eh keine Zeit die du "unnötig" in die
    Entwicklung stecken kasst, also muss es so schnell wie möglich gehen -> PHP

    Wobei man sagen sollte, dass es nicht die Aufgabe des Webdesigners ist/sein sollte die Business-Logik bzw. das zu nutzende Framework zu implementieren (Idealvorstellung).


  • Mod

    Mr. White schrieb:

    @Shade: Nicht schlecht... Um was handelt es sich bei diesen Skripten? Oder liegt es an der Masse der Anfragen?

    Die Scripte sind eben hoch komplex. Weiters wird eine nicht kompilierende Template Engine verwendet (eigen Entwicklung) - die ist ideal für den Kunden, aber leider ein Horror für uns Entwickler 😞

    Die Seiten sind ausserdem auch sehr komplex von der Darstellung die ganze Logik steckt nicht in den Scripten, sondern in den Templates - das ist eine Art eigene Sprache die da entwickelt wurde.

    Performance Probleme bekommt man aber auf schlechteren Server schon recht schnell. Ein Freund von mir zwingt seinen 800MHzer des öfteren in die Knie - sind stark Objekt Orientierte Scripte die XML Dateien parsen - aber da soll PHP5 ja besser werden.



  • @Shade: Warum steigt ihr denn nicht um auf JSP oder sogar c++ um? Mir war mal so, als ob Du sogar ne eigene c++ CGI API geschrieben hattest?!?


  • Mod

    Mitlesender schrieb:

    Warum steigt ihr denn nicht um auf JSP oder sogar c++ um?

    Na rate mal 🙂

    Wir haben mehrere _megabyte_ Code - da umzusteigen wäre einfach extrem teuer.
    Da lohnt es sich mehr, wenn man hin und wieder zwei Manntage opfert um einige Sachen zu optimieren.

    traurig aber wahr 😞



  • Also, ersdtmal möchte ich ein paar sachen sagen, die über PHP hier schlichtweg falsch hingestellt werden:

    a) Man kan auch in PHP HTML bis aufs letzte grümelchen vom Code trennen, sowas nennt man Templateengine, und ist in ca. 20minuten jeh nach funktionsumfang selbstgeschrieben, ein gutes beispiel ist da smarty: http://smarty.php.net

    b) Das PHP schnell unter großen lasten zusammenbricht ist definitif falsch, das liegt daran, dass der Coder nicht vernünftig arbeitet, bestes beispiel: http://www.phpbb2.de , die seite ist lahm ohne ende, dass liegt aber nicht an PHP, früher waren die auf nem Server von Framecom, zu der Zeit haben die nur von der Startseite ca.400 MySQL querys pro aufruf gehabt, da ist es kein wunder das der Server zuzsammenbricht, wenn du das jetzt auf 10 user rechnest, die gleichzeitig ansteuern hast du 4000 Querys 😉

    Jetzt noch ein paar sachen die ich als vorteil/gleichwert zu Jsp darstelklen muss:

    c) PHP bitete eine GTK schnitstelle, und ist damit auch für desktopanwendungen die platform unabhängig sind geeignet. ( http://gtk.php.net )

    d) Abropros MVC usw.. schaut mal auf http://pear.php.net da habt ihr genug klassen um alles zu realisieren was ihr wollt.

    e) Nachmal zu der belastbarkeit, PHP ist opensource, und es nicht unbedingt schwer, wenn man ein wenig C kann auch seine eigenen Erweiterungen zu programmieren und einzubinden, bei größeren projekten hattr man soweiso einen eigenen Server, wo man dann auch für besonderst belastende funktionen eine dll bzw so programmieren kann.

    f) JAVA classen können übrigens auch in PHP genutzt werden. Auch kann man PH als Servlet laufen lassen, was die Performance sehr anhebt.. (ua auch Tomcat)

    g) mit zb Zend lassen sich auch vorkompilierte PHP scripte ausführen, dies stegert die performance nochmal

    h) und zu OOP und XML kann cih nur sagen, schaut euch mal PHP5 an leute 😉

    j) Und zu guter letzt hatt PHP einfach einen ungaublich großen pool an leuten, die sich damti beschäftigen, Das verhältnis ziwchen leuten die PHP können (nicht perfekt beherschen aber können) ist im verhältnis zu denen die jsp können doch riesig, hier liegt einfach ein massig größerer info pool zur verfügung als wenn man mit jsp arbeitet, auch findet man mehr OpenSource rojekte, von denn man sich das ein oder andere abschauen kann.

    zu jsp werde ih nichts sagen, da ich der meinung bin mich nicht genug damit auszukennen, um eine sinnvolle und wahrheitsgemäße dokumentation wiederzugeben.


  • Mod

    MC_Breit schrieb:

    b) Das PHP schnell unter großen lasten zusammenbricht ist definitif falsch,

    Nein!
    PHP ist langsam. Schau dir doch einfach Benchmarkergebnisse an.

    Dass viele PHP Programmierer mies sind, macht die Sache natürlich nicht besser.

    btw: phpbb ist ein super Beispiel wie man es nicht macht.
    phpbb ist lahm und unflexibel

    c) PHP bitete eine GTK schnitstelle, und ist damit auch für desktopanwendungen die platform unabhängig sind geeignet. ( http://gtk.php.net )

    Schon mal gtk unter Windows verwendet?
    Java bietet da aber weit mehr als PHP

    d) Abropros MVC usw.. schaut mal auf http://pear.php.net da habt ihr genug klassen um alles zu realisieren was ihr wollt.

    Sorry, pear ist mies. Und was haeb ich dort was mir beim MVC hilft?
    Alles was ich brauche ist smarty und mojavi (ioder ähnliches)

    e) Nachmal zu der belastbarkeit, PHP ist opensource, und es nicht unbedingt schwer, wenn man ein wenig C kann auch seine eigenen Erweiterungen zu programmieren und einzubinden, bei größeren projekten hattr man soweiso einen eigenen Server, wo man dann auch für besonderst belastende funktionen eine dll bzw so programmieren kann.

    theoretisch richtig, praktisch falsch.
    Du kannst zwar extensions schreiben, macht aber quasi nie sinn

    g) mit zb Zend lassen sich auch vorkompilierte PHP scripte ausführen, dies stegert die performance nochmal

    ja, aber Zend ist da nicht unbedingt die beste Wahl. Ich würde eher PHPAccelerator nehmen.

    das bringt zwar etwas, aber es könnte besser sein

    h) und zu OOP und XML kann cih nur sagen, schaut euch mal PHP5 an leute 😉

    PHP5 ist irrelevant.
    PHP5 kommt vielleicht irgendwann mal raus - und bis man umsteigen kann dauert es auch noch ewig.

    j) Und zu guter letzt hatt PHP einfach einen ungaublich großen pool an leuten, die sich damti beschäftigen, Das verhältnis ziwchen leuten die PHP können (nicht perfekt beherschen aber können) ist im verhältnis zu denen die jsp können doch riesig, hier liegt einfach ein massig größerer info pool zur verfügung als wenn man mit jsp arbeitet, auch findet man mehr OpenSource rojekte, von denn man sich das ein oder andere abschauen kann.

    schau dich um.
    Siehst du mehr gute PHP Anwendungen oder mehr schlechte?

    Sicher, PHP ist super - aber es ist viel zu einfach 😞 jeder depp will dir erzählen wie gut er PHP kann.

    zu jsp werde ih nichts sagen, da ich der meinung bin mich nicht genug damit auszukennen, um eine sinnvolle und wahrheitsgemäße dokumentation wiederzugeben.

    dann vergleich doch PHP nicht mit JSP

    Denn PHP hat hier nur den Vorteil dass die Entwicklung schneller geht. uU auch die bessere Dokumentation.

    Aber wirklich große Anwendungen kann man mit PHP nicht vernünftig realisieren.

    Für kleinere und mittlere Sachen ist PHP aber recht gut geeignet. Besonders bei kleinen Sachen wie zB einem Gästebuch, Linkliste, etc. ist PHP unschlagbar.

    Wobei mir persönlich ASP.NET am besten gefällt 🙂 nur leider sinnlos solange mono noch nicht ausgereift ist (denn wer verwendet schon freiwillig einen windows server?)



  • Shade Of Mine schrieb:

    MC_Breit schrieb:

    b) Das PHP schnell unter großen lasten zusammenbricht ist definitif falsch,

    Nein!
    PHP ist langsam. Schau dir doch einfach Benchmarkergebnisse an.

    Dass viele PHP Programmierer mies sind, macht die Sache natürlich nicht besser.

    btw: phpbb ist ein super Beispiel wie man es nicht macht.
    phpbb ist lahm und unflexibel

    Hmm.. also, wenn man alles optimiert und auch alles beachtet was oben steht, das man schwer zu bewältigenden code als SO bzw DLL erweiertung programmiert, und PHP Als Servlet laufen lässt und Zend Optimizer laufen hatt, it PHP garnicht mehr so lahm wie du denkst 😉

    Shade Of Mine schrieb:

    c) PHP bitete eine GTK schnitstelle, und ist damit auch für desktopanwendungen die platform unabhängig sind geeignet. ( http://gtk.php.net )

    Schon mal gtk unter Windows verwendet?
    Java bietet da aber weit mehr als PHP

    Ja, klar hab ich GTK schonmal unter windows verwendet, mach ich seit knapp einem Jahr, ich habe GIMP1, GIMP2, SIM und ein paar selbst geschriebene anwendungen unter windows in betrieb..
    Dazu habe ich GTK 1.6, GTK 1.9 und GTK 2 installiert..
    Läuft alles einwandfrei.. Wenn du nciht glaubst mach ich gerne n paar screenshots...

    Shade Of Mine schrieb:

    d) Abropros MVC usw.. schaut mal auf http://pear.php.net da habt ihr genug klassen um alles zu realisieren was ihr wollt.

    Sorry, pear ist mies. Und was haeb ich dort was mir beim MVC hilft?
    Alles was ich brauche ist smarty und mojavi (ioder ähnliches)

    Naja, kommt darauzf an was du eben suchst, aber egal für was du eine klasse oder erweiterung bruahchst, in 99% der fälle wirst du fündig, sei es eine IRC klasse, IMAP oder sonst was..

    Shade Of Mine schrieb:

    e) Nachmal zu der belastbarkeit, PHP ist opensource, und es nicht unbedingt schwer, wenn man ein wenig C kann auch seine eigenen Erweiterungen zu programmieren und einzubinden, bei größeren projekten hattr man soweiso einen eigenen Server, wo man dann auch für besonderst belastende funktionen eine dll bzw so programmieren kann.

    theoretisch richtig, praktisch falsch.
    Du kannst zwar extensions schreiben, macht aber quasi nie sinn

    Warum sollte es bitte keinen sin machen?

    Shade Of Mine schrieb:

    g) mit zb Zend lassen sich auch vorkompilierte PHP scripte ausführen, dies stegert die performance nochmal

    ja, aber Zend ist da nicht unbedingt die beste Wahl. Ich würde eher PHPAccelerator nehmen.
    das bringt zwar etwas, aber es könnte besser sein

    Naja, laut zahlreichen tests ist ZendOptimiser am schenllsten..

    Shade Of Mine schrieb:

    h) und zu OOP und XML kann cih nur sagen, schaut euch mal PHP5 an leute 😉

    PHP5 ist irrelevant.
    PHP5 kommt vielleicht irgendwann mal raus - und bis man umsteigen kann dauert es auch noch ewig.

    PHP5 kommt noch diese jahr, die Betas kannst du dir schon runterladen und es local ausprobieren..

    Shade Of Mine schrieb:

    j) Und zu guter letzt hatt PHP einfach einen ungaublich großen pool an leuten, die sich damti beschäftigen, Das verhältnis ziwchen leuten die PHP können (nicht perfekt beherschen aber können) ist im verhältnis zu denen die jsp können doch riesig, hier liegt einfach ein massig größerer info pool zur verfügung als wenn man mit jsp arbeitet, auch findet man mehr OpenSource rojekte, von denn man sich das ein oder andere abschauen kann.

    schau dich um.
    Siehst du mehr gute PHP Anwendungen oder mehr schlechte?

    Mehr Schlechte, ca 50% Schlecht, 20% neutral, 30% gut.
    Bei java sehe ich ca 60% Schlecht, 10%neutral und 40% gut.
    Ist ansichtssache, und kommt darauf an wo man weert drauf legt.

    Shade Of Mine schrieb:

    Sicher, PHP ist super - aber es ist viel zu einfach 😞 jeder depp will dir erzählen wie gut er PHP kann.

    Jein, PHP ist am anfang einfach, aber hatt doch auch seine stellen wo es schwerer wird, zb extensions schreiben, oder Tomcat/JAVA kommunikation, und server/client anwendungen..
    MIt GTK ist auch nicht unbedingt so leicht..
    Klar, grundgenntnisse in PHP hatt heute fast jeder, aber Pro sind die meisten von denen nicht, das ist aber bei jeder sprache so, nur siehst du es bei PHP eher, da du überall auf PHP stößt.

    Shade Of Mine schrieb:

    zu jsp werde ih nichts sagen, da ich der meinung bin mich nicht genug damit auszukennen, um eine sinnvolle und wahrheitsgemäße dokumentation wiederzugeben.

    dann vergleich doch PHP nicht mit JSP

    Hab ich nicht, ich habe nur gesagt, was ich von dem was oben steht für falsch halte.

    Shade Of Mine schrieb:

    Denn PHP hat hier nur den Vorteil dass die Entwicklung schneller geht. uU auch die bessere Dokumentation.

    Jein, auch spätere änderungen gehen schneller, und ich würde soweiso sagen, es kommt immer darauf an was man macht, wenn ich ein Projekt mache, zb ein online Game wo ich mit ca 20 000 usern rechne, werde ich alles in C schreiben, und weder PHP noch JSP noch sonstwas verwenden..

    Shade Of Mine schrieb:

    Aber wirklich große Anwendungen kann man mit PHP nicht vernünftig realisieren.

    Kommt auf den coder an, und auf das was die anwendung machen soll

    Shade Of Mine schrieb:

    Wobei mir persönlich ASP.NET am besten gefällt 🙂 nur leider sinnlos solange mono noch nicht ausgereift ist (denn wer verwendet schon freiwillig einen windows server?)

    Naja, ich würde nicht unbedingt auf .NET setzen, wart mal 3 Jahre, dann ahst du alles umsonst gelernt, außerdem ind VB C# usw alles nur billige Klone, und ich verstehe erlich gesagt nicht, warum MS der meinung ist wir bräuchten noch mehr höhere Sprachen, abgeshen davon laufen C# anwendungen usw. auch nur mit .NET framework.. Aber naja, für Online anwendungen ist halt geschmakssache.

    cu


  • Mod

    MC_Breit schrieb:

    Hmm.. also, wenn man alles optimiert und auch alles beachtet was oben steht, das man schwer zu bewältigenden code als SO bzw DLL erweiertung programmiert, und PHP Als Servlet laufen lässt und Zend Optimizer laufen hatt, it PHP garnicht mehr so lahm wie du denkst 😉

    Dann habe ich aber eine Entwicklungszeit >= JSP - und somit verliert PHP wieder den Sinn.

    Aber bitte verstehe mich nicht falsch: Ich verdiene mit PHP meine Broetchen.

    Ja, klar hab ich GTK schonmal unter windows verwendet, mach ich seit knapp einem Jahr, ich habe GIMP1, GIMP2, SIM und ein paar selbst geschriebene anwendungen unter windows in betrieb..
    Dazu habe ich GTK 1.6, GTK 1.9 und GTK 2 installiert..
    Läuft alles einwandfrei.. Wenn du nciht glaubst mach ich gerne n paar screenshots...

    Klar geht es. Aber wie gut?
    Ich habe gtk bisher nur mit C probiert, aber unter Windows gabs da immer wieder Probleme... Naja, vielleicht ist es ja mit den PHP-Bindings anders.

    Trotzdem hat hier Java wohl klare Vorteile, oder?

    Naja, kommt darauzf an was du eben suchst, aber egal für was du eine klasse oder erweiterung bruahchst, in 99% der fälle wirst du fündig, sei es eine IRC klasse, IMAP oder sonst was..

    Wir haben ein paar Pear Klassen eingesetzt, aber bei manchan frage ich mich echt ob es bei pear keine Qualitaetskontrolle gibt...

    von OOP haben die meisten Programmierer anscheinend noch nix gehoert 😞
    Die Packages sind teilweise so extrem ueberladen, dass allein fuers parsen schon sehr viel zeit drauf geht.

    Wir haben zB eine Email-Klasse von pear verwendet. Das war uns dann aber zu lahm und wir verwenden sie nur noch in seltenen faellen (zumal es grosse Probleme mit inline Bildern in HTML mails gab 😞 - war einfach nicht vernuenftig erweiterbar.) Klar das ist jetzt ein einzelfall, aber viele pear Klassen haben hier grosse Probleme 😞

    Shade Of Mine schrieb:

    Warum sollte es bitte keinen sin machen?

    Entwicklungszeit ist zu teuer.
    Du kannst ausserdem nicht immer die PHP Programmierer damit beauftragen, da die meistens kein C koennen (bei uns kanns zB nur ich).

    Folglich brauchst du externe Resourcen, das macht die Sache wieder teurer...

    PHP5 kommt noch diese jahr, die Betas kannst du dir schon runterladen und es local ausprobieren..

    Ja, ich kenne PHP5

    Aber wie lange warten wir schon darauf?
    es gibt zwar schon rc2 - aber man kann ja die Version 5.0 dennoch nicht verwenden (erst ab etwa 5.1 - stabilitaet ist halt wichtig)

    und auch dann wird man nicht gleich umsteigen

    1. wegen der stabilitaet
      und
    2. wegen der kompatibilitaet

    Jein, PHP ist am anfang einfach, aber hatt doch auch seine stellen wo es schwerer wird, zb extensions schreiben, oder Tomcat/JAVA kommunikation, und server/client anwendungen..

    Aber welcher 'leet php coderz' braucht das schon?
    Das ist IMHO ein grosses Problem von einfachen Sprachen. Zuviele deppen die sich gut vorkommen. wenn man eine library fuer irgendetwas sucht, findet man meistens massenweise miese Sachen 😞
    Bei C++ ist es besser - da gibts nicht so viel mist, weil Anfaenger es einfach nicht packen 🙂

    Jein, auch spätere änderungen gehen schneller, und ich würde soweiso sagen, es kommt immer darauf an was man macht, wenn ich ein Projekt mache, zb ein online Game wo ich mit ca 20 000 usern rechne, werde ich alles in C schreiben, und weder PHP noch JSP noch sonstwas verwenden..

    Aenderungen zaehle ich zur Entwicklungszeit.

    Ja. Fuer kleine bis mittlere Sachen ist PHP super, aber fuer grosse Sachen wird es zu lahm. Auch mit Optimizer. Ohne Optimizer ist PHP naemlich nicht verwendbar.

    Naja, ich würde nicht unbedingt auf .NET setzen, wart mal 3 Jahre, dann ahst du alles umsonst gelernt

    In 3 Jahren ist Longhorn draussen und ich kann zumindest Windows Anwendungen erstellen. Selbst wenn MS dann nur 50% MArktanteil haette, waere es lukrativ.

    , außerdem ind VB C# usw alles nur billige Klone, und ich verstehe erlich gesagt nicht, warum MS der meinung ist wir bräuchten noch mehr höhere Sprachen,

    VB.NET kenne ich nicht gut genug, aber C# ist ne recht geniale Sprache. Es hat nur etwa die haelfte der Java Krankheiten - zwar nicht so ideal wie C++ oder D, aber immerhin recht ordentlich.

    Was spricht denn gegen mehr hoehere Sprachen? Java ist ja nicht der Weisheit letzter Schluss und C# bietet ein paar geniale Konzepte.

    abgeshen davon laufen C# anwendungen usw. auch nur mit .NET framework.. Aber naja, für Online anwendungen ist halt geschmakssache.

    Und PHP Anwendungen laufen nur mit PHP Interpreter, Java Anwendungen nur mit JRE,...
    was willst du mir damit sagen?

    Fuer grosse Online Anwendungen ist ASP.NET recht super, allerdings fuer kleine Sachen nicht zu gebrauchen.

    cu[/quote]



  • muß mich auch mal bei eurem kleinkrieg beteiligen. 😃

    Also ich bin ebenfalls der Meinung dass sich mit php kleinere und mittlere Web-Anwendungen sehr rasch entwickeln lassen und java bzw. .NET für große Applikationen eher geeignet ist. Ich selbst habe schon mit allen drei zu tun gehabt, hautpsächlich aber mit java.

    In erster Linie hängt es sicherlich vom Design bzw. vom Entwickler ab ob eine Anwendung lahm läuft oder nicht, optimiert wird auch in java bzw. .NET.

    Ausserdem trägt gerade bei java die große Auswahl an Applikationsserver sowie deren Clusterfähigkeiten einen nicht unwesentlichen Teil zur Performance bei.
    Und gerade da denke ich hat vor allem java die Nase vorne.

    Weiters spricht für java und auch .NET die Anbindung an Enterprisesysteme.
    Geht mit php sicherlich auch "irgendwie" aber ausgereift ist es sicher nicht.

    php würde ich für abgegrenzte Anwendungen sehen, ein Board, ein Gästebuch, eine Webanwendung mit Datenbankanbindgung und nicht mehr dahinter.

    Aus Entwicklersicht spricht sicherlich für java und .NET/C# dass der code richtig compiliert wird, es gibt compile-Errors und RuntimeExceptions und mit den meisten IDEs kann man wunderbar debuggen was letzendlich auch bei der Wartung nicht zu vernachlässigen ist.
    Dann noch junit bzw. nunit zum testen usw...

    Geht sicherlich alles auch mit php "irgendwie" aber halt nur "irgendwie".
    java und .NET mit c# sind "echte Programmiersprachen" was php nicht ist und von der Idee und dem Konzept her eigentlich nie sein wollte.

    btw: Ich setze übrigens einen Windows Server produktiv ein und sehe nicht wirklich ein Risiko wenn man gewisse Dinge beachtet.

    ms


Anmelden zum Antworten