Was spricht gegen Java?
Dezember 13, 2010 7 Kommentare
Also wenn ich Artikel wie “Was fehlt dir an PHP?” (hier vom PHP Gangsta) lese und die Kommentare dazu, frag ich mich: Warum nicht gleich Java nehmen? Was spricht gegen Java?
PHP scheint ja wirklich immer mehr in Richtung Java zu tendieren, vielleicht haben wir bald auch einen Java Zwilling der dann den Vorteil hat, dass er bei fast allen Hostern standardmäßig läuft.
Aber “Hoster” ist doch nicht so ein großes Argument gegen Java? Einen Root oder vServer (mit Root Rechten) gibt es doch schon ab 10-15 Euro und da lässt sich ja dann auch Java drauf installieren und ich wette, dass es bestimmt einen Java-Hoster gibt, der ein bisschen Platz umsonst anbietet.
Das Problem ist (und da bin ich lange nicht der erste der das sagt), dass PHP keine klare Richtung hat: soll es objektorientierter werden oder weiterhin die einfache Erlernbarkeit und Verwendung fördern?
Wenn OOP gewünscht ist, dann kann man gleich auf Java umsteigen. Wenn PHP weiterhin “Duck-Typing” und sonstige “fehlertolerante” Features bietet, dann sollte dieser Stil vielleicht etwas weiter ausgebaut werden (keine Ahnung wie).
Vielleicht ist aber auch gerade dieser OOP-Prozedur-Hybrid Stil das, was PHP so besonders macht?
Ja, auch mir fehlt meistens die feste Typisierung in PHP oder “finally” beim try-catch und weitere “OOP” Features. Aber wenn ich das benötige, programmiere ich eben in Java (außer ich bin wie in den meisten Fällen vom System zu PHP gezwungen ;) ).
PHP bevorzuge ich, gerade weil ich damit schnell was zusammen gehackt bekomme.
Aus welchem Grund verwendet ihr lieber PHP als Java?
ich hab von java keine ahnung, und von php auch nur ein bischen. aber ich schnapp zum thema java immer wieder so sachen auf wie folgendes:
Give me PHP, or mod_perl or even plain CGI any day over this overengineered piece of rubbish!
via
wenn ich es richtig erinnere hat auch david heinemeier hansson im interview gesagt die motivation für “ruby on rails” stammt aus seiner frustration mit java. also irgendwas muss dran sein ;)
Jo, schön zusammengefasst. Das ist der Grund, warum “Hello World” in Java am längsten ist. x)
Ich finde eigentlich nicht das PHP immer mehr Richtung Java tendiert. PHP baut halt das OOP weiter aus, und das ist auch richtig so, da es ein sehr wichtiger Schritt für php ist und das Programmieren von komplexeren Anwendungen um einiges erleichtert. Bis auf ein paar kleinigkeiten kann man inzwischen mit php 5.3 ja auch schon hervorragend objektorierntiert mit php programmieren. Aber man kann doch nicht sagen das jede Programmiersprache die OOP bietet wie JAVA ist ^^
Und das mit der klaren Richtung verstehe ich nicht so genau. Es wäre doch bescheuert PHP auf reines OOP oder reines funktionales programmieren zu beschränken. Ich habe schon immer, bei php sowie java, beides vermischt und komme damit super zurecht. PHP hat finde ich eine ganz klare Richtung: möglichst schnelles, einfaches und effektives serverseitiges webprogrammieren.
Aber um auf die eigentlich Frage zurück zu kommen was gegen JAVA spricht: also ersteinmal die feste typisierung :D im gegensatz zu dir fehlt die mir nichtmal annähernd in php ^^ das fand ich von anfang an sehr geil bei php. Und auch so muss bei Java auf wesentlich mehr geachtet werden. Dann fehlen einige fertige Funktionen die man oft für die serverseitige webprogrammierung braucht. Bei java dauert einfach alles viel länger. Man kann also in der gleichen Zeit mit PHP wesentlich mehr funktionen einbauen oder andersrum Bei gleicher funktionalität ist die PHP Variante um einiges günstiger.
Also ich habe als erstes in der uni java gelernt. Keine Frage das ist eine supergeile Programmiersprache um richtige Desktopsoftware zu programmieren. Aber JSP hab ich von anfang an gehasst. Gleichzeitig habe ich dann PHP gelernt und mich dann gefragt wozu es überhaupt JSP gibt geschweige denn wieso man das benutzen sollte…
Okay php ist ein bisschen langsamer aber das fällt nur bei wirklich großen Projekten ins Gewicht, und da ist es glaub ich billiger sich einen schnelleren Server zu besorgen als doppelt so lange an dem Projekt zu hacken^^
“Aber man kann doch nicht sagen das jede Programmiersprache die OOP bietet wie JAVA ist ^^”
=> das ist korrekt. Vielleicht seh ich das so, weil ich hauptsächlich diese beiden Sprachen ‘spreche’.
“Und das mit der klaren Richtung verstehe ich nicht so genau.” [...] “PHP hat finde ich eine ganz klare Richtung: möglichst schnelles, einfaches und effektives serverseitiges webprogrammieren.”
=> Das ist für mich eine klare Richtung. Nur wenn sich dann Leute von PHP mehr OOP wünschen (komplette OOP-Lib, Innere Klassen, Überladen) von Funktionen, dann frag ich mich: warum nicht gleich Java (oder eine andere rein-OOP Sprache)?
Ich bin auch der Meinung, das bei PHP gerade die große Freiheit der absolute Vorteil ist: man kann prozedural, oder rein objektorientiert oder mit Objekten prozedural programmieren. ;) Man kann Typen verwenden oder auch nicht … eben so wie es dem Projekt entsprechend gebraucht wird.
Das dabei eher mieser Code rauskommt ist eine andere Sache – aber davor bewahrt einen Java auch nicht.
Fazit:
Je größer ein Projekt, desto eher Java – da hier die Komplexität von Java im Vergleich zur Komplexität des Projekts nicht mehr ins Gewicht fällt und viel mehr die Geschwindigkeit zählt.
Bei kleineren Tools/Projekten am besten PHP, da man damit schneller zum Ziel kommt… oder dann gleich Ruby (On Rails).
Oder?
Das Argument Hoster zählt sehr wohl, denn die Administration eines (v)Servers erfordert auch Einiges an Wissen und Einsatz. Den Hinweis, sich einfach irgendwas zu mieten, halte ich für recht gefährlich.
Zwischen PHP und Java gibt es immer noch sehr viele große Unterschiede, man schaue sich nur die völlig unterschiedliche Komplexität beim Deployment der Anwendungen an.
Auch hier gilt, je größer ein Projekt, desto weniger spielen Administrativer Aufwand und Kosten ein Rolle, oder?
Ich stimme dir schon zu, dass man PHP-fähigen Webspace günstiger bekommt, wobei ich mal behaupte, dass auf einem identischen Server mit einer vergleichbaren Java Applikation einen bessere Performance erreicht werden kann. Für eine PHP Anwendung wird also stärkere Hardware benötigt um gleiche Ergebnisse zu erzielen. (Auch hier spielt die Projektgröße eine große Rolle).
Das sind aber nur Aussagen aus dem Bauch heraus und im Endeffekt Haarspalterei. Ich bleibe bei meinem Fazit: je größer das Projekt, desto sinnvoller wird es, Java oder eine andere kompilierbare OOP- Sprache zu verwenden.
Was ich mit dem Artikel eigentlich (noch) aussagen wollte, es aber scheinbar nicht gut zum Ausdruck gebracht habe: Wir (die PHP User) sollten uns durch OOP-Feature-Wünsche nicht die Vorteile von PHP kaputt machen. Wer nur noch reines OOP programmieren möchte, sollte PHP vielleicht nicht mehr verwenden. ^^