kostenloser Webspace werbefrei: lima-city


Vorteile von Java gegenüber PHP?

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    d**********r

    Hi!

    Könnte mir jemand kurz die Vorteile und Nachteile von Java gegenüber PHP erklären? Mit PHP kenn ich mich aus und frage mich jetzt ob es sinnvoll ist Java zu lernen. Bzw. Welche anderen Sprachen sind auf den meisten Webservern verfügbar?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi,

    Java lernen lohnt auf jeden Fall. Nur, du solltest bedenken, dass Java sowol Serverseitig als auch Clienseitig verwendet werden kann. Java Server bekommst du aber sicher bei keinem Freehoster. Damit kannst du Java nur clientseitig verwenden. Mit Java bist du einfach sehr flexibel, es gibt Applets (Web, clientseitig), Midlets für Handys und auch normale (PC/Mac) Anwendungen.

    mfg,
    Prog
  4. Java ist sicherlich eine mächtige Sprache, ja. Eine vollwertige Sprache für Desktopanwendungen. Aber begehe nicht die Sünde Java in irgendwelchen Applets zu verwenden! Tu es den Leuten einfach nicht an, bitte!
  5. e********l

    @Applets: Kommt darauf an. Wenn man gut ist kann man die auch nutzen. Seit Java5 sind Applets wieder richtig flott unterwegs und so nen LWJGL Applet hat schon was für sich ;)
  6. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Na ja, mir sind reine PHP-Anwendungen auch lieber. Ich meine, für Desktop verwende ich C/C++. Ich mag Java weder aufm Desktop noch im Browser...
    PHP hat halt den großen Nachteil, dass ich für jeden Script-Aufruf die Seite aktualisieren muss. Ajax ist da halt wieder so ein Zwischending, welches wieder Java verwendet.
  7. Java ist mit Sicherheit die mächtigere Sprache, allerdings schrecken mich Java Applets eher ab, weil da oft sehr lange Wartezeiten damit verbunden sind. Ein Vorteil ist aber sicher, dass bei Clientseitiger Verwendung der Server geschont wird, weil das Applet auf dem Rechner des Besuchers ausgeführt wird und nicht auf dem Server. Bei Anwendungen für den PC hat Java natürlich den großen Vorteil, dass es plattformunabhängig ist.

    Grüße Christian
  8. Javas Platformunabhängigkeit ist aber kein Grund, darauf umzusteigen. mit Delphi kann man auch platformunabhängig programmieren (zumindest schon sehr bald :D) oder mit C#, ...

  9. e********l

    schrotti12 schrieb:
    Ajax ist da halt wieder so ein Zwischending, welches wieder Java verwendet.

    *Slab* AJAX = Asynchronous Javascript And Xml
    Das hat nichts und rein gar nichts mit Java gemein. Für JAVA benötigt man eine Virtuelle Machine!
  10. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Verzeihung: Java-Script...

    Es ist mir durchaus bewusst, dass Java kompiliert wird und eine Laufzeitumgebung benötigt, Java-Script hingegen im Browser läuft. Nichts desto weniger ist Java-Script eine clientseitige Scriptsprache und PHP eine serverseitige Scriptsprache. Scriptsprache deswegen, weil weder das eine noch das andere kompiliert, sondern zur Laufzeit interprätiert wird.

    Aber da hier alle nur von Java geredet haben, hab ich mir halt das "Script" gespart... Ich dachte, das sei bei dem Thema nicht nötig... Mal wieder geirrt... Tut mir Leid!
  11. k**********k

    schrotti12 schrieb:
    Verzeihung: Java-Script...

    Es ist mir durchaus bewusst, dass Java kompiliert wird und eine Laufzeitumgebung benötigt, Java-Script hingegen im Browser läuft. Nichts desto weniger ist Java-Script eine clientseitige Scriptsprache und PHP eine serverseitige Scriptsprache. Scriptsprache deswegen, weil weder das eine noch das andere kompiliert, sondern zur Laufzeit interprätiert wird.

    Aber da hier alle nur von Java geredet haben, hab ich mir halt das "Script" gespart... Ich dachte, das sei bei dem Thema nicht nötig... Mal wieder geirrt... Tut mir Leid!


    Naja, Java kann sowohl im Browser (als Applett) als auch als "normale anwendung" (d.h. auch Server) laufen. Java-script läuft dagegen nur im Browser (Photoshop programmirung und ähnliches mal ausgeschlossen). Ich bin mir nicht ganz sicher ob du dir bewusst bist, dass Java-Script rein gar nichts mit Java zu tun hat.

    @Topic:

    Wie schon gesagt wurde: Mit Java(appletts) hast du den Vorteil, dass du Benutzeraktionen auswerten kannst, ohne die Seite neu zu laden. Dies ist z.B. bei Chats sehr wichtig. Du hast allerdings auch das Problem, dass Javaappletts im Allgemeinen länger zum Laden brauchen (da eine VM gestartet werden muss), und dass du vorraussetzen musst, dass der Benutzer deiner Seite das Java-Runtime-Environment bei sich installiert hat. Ausserdem ist das Designen einer HTML seite normalerweise einfacher als das Designen eines Appletts. Falls du nur Benutzeraktionen auswerten willst, ohne dass der Benutzer die Seite neu laden muss, dann würde ich dir zu dem bereits angesprochenem AJAX raten. AJAX simuliert, einfach gesagt, einen Seitenaufruf mit Java-Script. Die Ausgabe der Seite bekommst du in eine Java-Script variable zurückgeliefert, mit der du dann den Inhalt der Seite, auf der sich der Benutzer gerade befindet, manipulieren kannst. Auf diese weise sind folglich auch Chats möglich. Der Vorteil von Java gegenüber AJAX besteht dann im wesentlichen darin, das JAVA zuverlässiger ist, und du mit Javascript ständig am Server nachfragen musst, ob denn schon neue Nachrichten da sind (sog. polling) während du mit Java nur eine Nachricht vom Server zum Clienten schicken musst, wenn auch wirklich eine Nachricht da ist.

    So, das war jetzt die ultra-ultra-ultra kurze Einführung über Web 2.0 Technologien

    lg Ketchup
  12. e********l

    schrotti12 schrieb:
    Aber da hier alle nur von Java geredet haben, hab ich mir halt das "Script" gespart... Ich dachte, das sei bei dem Thema nicht nötig... Mal wieder geirrt... Tut mir Leid!

    Dann sollte nicht AJAX in Verbindung mit Java nennen. Denn das würde auf eine Kopplung beider Technologien zb. JSF + AJAX hinführen.

    Das starten der JVM sollte mit aktueller Java Version kein Problem sein. Die Minimaldistribution ist <5MB groß.
  13. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Na ja, mir gehts nicht darum, Aktionen auszuwerten, ohne die Seite neu zu laden. Im Gegenteil: Wenn man das macht, so denke ich, kann das zu einem inkonsistenten Zustand führen. Wenn bei PHP jedoch für jede aktion die Seite neu geladen wird, was bei heutigen Bandbreiten eigentlich kein Problem ist, dann habe ich eigentlich immer einen konsistenten Zustand, außer ich habe völligen Schachsinn programmiert, was ich aber versuche, zu vermeiden.
    Klar könnte man jetzt argumentieren, dass mobile Endgeräte nicht so viel Bandbreite haben und dass da jedes Byte zählt, aber Handys sind meiner Meinung nach so oder so nicht zum surfen geeignet und statt bei ein paar Ladezyklen zu sparen sollte man besser die Seiten für mobile Geräte optimieren. Sprich: Keine Werbung, kein Applets und keine Multimedia-Inhalte...
  14. e********l

    @Mod: Falls diese Diskussion hier zu unpassend ist, bitte verschieben.

    @schrotti: Natürlich kann man die Daten immer wieder und wieder übertragen, aber warum sollte man Technologien wie AJAX (gibt es schon seit 10 Jahren und länger) nicht nutzen? Stell dir eine Gallerie mit 50+ Bildern vor. Willst du die jedes mal neu laden lassen, nur weil du Asynchrone Requests nicht magst? Das ist doch gerade das schöne an der Technologie. Man lädt die ersten 5 Bilder vor und kann sie direkt im Vollbild anzeigen lassen, den Rest lädt man nebenher oder beim Request nach. Zum einen spart das Bandbreite und dem Benutzer spart es sehr viel Wartezeit.
  15. Ich bin mir nicht sicher, aber vielleicht liegt hier ein Irrtum vor! Alle Vorposter haben dich, delphicorner, beim Wort genommen. Java ist eine platformunspezifische Programmiersprache, die mit einem entsprechenden Compiler kompiliert werden muss. Java-Script ist eine Programmiersprache für HTML-Seiten (etc.). Vielleicht äußert sich delphicorner mal, was er nun meint.

    Java mit PHP zu vergleichen, oder zu überlegen, welche Sprache besser ist, macht nicht viel Sinn, finde ich, da die Java-Applets im Internet eher sperrig sind(da wurde ja auch schon viel zu geschrieben). Desweiteren ist es so weit ich weiß nicht serverabhängig, ob Java-Applets auf einer Site laufen, da sie mit HTML aufgerufen werden und Online gespeichert sein müssen. (Ich kenn mich nicht wirklich gut aus ;-) )

    Ich hoffe ich konnte beitragen.

    Achja, wenn du wirklich Java-Script meintest, ist es natürlich gut es zu lernen, da manche Dinge mit PHP sich nicht gut umsetzen lassen. AJAX ist auch ein guter Grund, es zu lernen, denn AJAX ist (meiner Meinung nach) einer schöner entspannter Teil des Web 2.0.

    mfg
    s1m13

    Beitrag zuletzt geändert: 17.6.2009 15:52:29 von s1m13
  16. Berichtigt mich wenn ich falsch liege, aber ein großer Unterschied liegt in der Programmierung. PHP ist nicht Objktorientiert, Java schon.

    Beitrag zuletzt geändert: 17.6.2009 22:25:46 von luther
  17. e********l

    Man kann in PHP auch Objektorientiert programmieren. Muss aber auf Dinge wie Funktionsüberladung verzichten, wenn man nicht gerade auf die Magic Funktionen von PHP zurückgreifen will.
  18. Meiner meinung ist ein wesentlicher Vorteil bei Java das einfache Multithreading, was in PHP doch recht soweit ich weiß umständlich zu bewerkstelligen ist.
  19. e********l

    Es gibt in PHP kein Multithreading und einfach ist das in Java ebenfalls nicht. In keiner Sprache ist Multithreading einfach.
  20. Das ist natürlich richtig, dass php nativ kein Multithreading unterstützt, aber man kann es simulieren, indem z.B. über die Komandozeile weitere Skripte aufgerufen werden, die dann paralell laufen.
    Aber wie gesagt, dass ist schon sehr umstädlich.

    Beitrag zuletzt geändert: 11.8.2009 16:53:16 von frengil
  21. e********l

    Erstens ist es nicht der Sinn und zweitens ist das dann auch noch nicht Multithreading. Denn PHP läuft auf der Konsole auch nur einmal durch und ist dann beendet. Eine Multithreaded Applikation, wie zb. der Apache Webserver läuft permanent und hat dann einzelne Unter/Nebenthreads die andere Arbeiten verichten.
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!