Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Kennst Du den Unterschied zwischen Java und JavaScript? |
Ja |
|
75% |
[ 25 ] |
Nein |
|
15% |
[ 5 ] |
Ist mir egal |
|
9% |
[ 3 ] |
|
Stimmen insgesamt : 33 |
|
Autor |
Nachricht |
El Schwalmo Atheistischer Agnostiker
Anmeldungsdatum: 06.11.2003 Beiträge: 9070
|
(#228010) Verfasst am: 14.12.2004, 00:55 Titel: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Hi Alle,
Frank fragte, wer den Unterschied zwischen Java und JavaScript kennt. Würde mich auch interessieren.
Grüßle
Thomas
|
|
Nach oben |
|
|
Evilbert auf eigenen Wunsch deaktiviert
Anmeldungsdatum: 16.09.2003 Beiträge: 42408
|
(#228011) Verfasst am: 14.12.2004, 01:05 Titel: |
|
|
Ich hab auf meiner letztmalig am 15.3.2000 aktualisierten Homepgae Javascript drauf und auch Javaapplets. Aber ich hab (fast) keine Ahnung, wie das Ganze geht. Interessiert mich auch nicht, solange ich mit ersterem doofe Texteffekte und mit letzterem irgendeinen Grafikangebererfolg erziele.
Klauen rulez, Verstehen hält nur auf!
|
|
Nach oben |
|
|
DerManfred ranglos
Anmeldungsdatum: 11.06.2004 Beiträge: 1082
Wohnort: Wien
|
(#228035) Verfasst am: 14.12.2004, 04:43 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Thomas Waschke hat folgendes geschrieben: | Hi Alle,
Frank fragte, wer den Unterschied zwischen Java und JavaScript kennt. Würde mich auch interessieren.
Grüßle
Thomas |
javascript ist eine scriptsprache die einen interpreter braucht um zu funktionieren. jeder befehl wird durch den interpreter der reihe nach abgearbeitet. Der interpreter ist im browser realisiert.
java ist eine hochsprache die compiliert werden muss und eine laufzeitumgebung braucht um zu funktionieren. die laufzeitumgebung ist als virtuelle maschine realisiert die es für fast jedes bekannte OS gibt, daher ist jedes java compilat ohne änderung unter jedem OS lauffähig, wenn die virtulle maschine installiert ist.
korrekturen meiner darstellung werden gerne angenommen.
|
|
Nach oben |
|
|
pyrrhon registrierter User
Anmeldungsdatum: 22.05.2004 Beiträge: 8770
|
(#228082) Verfasst am: 14.12.2004, 10:57 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
DerManfred hat folgendes geschrieben: | korrekturen meiner darstellung werden gerne angenommen. |
Keine Korrektur, nur ein kleiner Zusatz: JavaScript und Java haben bis auf den gemeinsamen Substring "Java" nichts gemein. JavaScript ist also nicht, wie der Name nahe legen würde, mit Java verwandt.
() Nagarjuna
|
|
Nach oben |
|
|
El Schwalmo Atheistischer Agnostiker
Anmeldungsdatum: 06.11.2003 Beiträge: 9070
|
(#228089) Verfasst am: 14.12.2004, 11:22 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Hi Nagarjuna,
Nagarjuna hat folgendes geschrieben: | DerManfred hat folgendes geschrieben: | korrekturen meiner darstellung werden gerne angenommen. |
Keine Korrektur, nur ein kleiner Zusatz: JavaScript und Java haben bis auf den gemeinsamen Substring "Java" nichts gemein. JavaScript ist also nicht, wie der Name nahe legen würde, mit Java verwandt. |
ein 'gewisse' Verwandtschaft besteht IMAO bestenfalls darin, dass die Syntax beider Sprachen an C++ angelehnt ist.
Ein Mensch hier im Forum hat den Unterschied anhand von Gummibärchen und Gummireifen sehr anschaulich gemacht.
Grüßle
Thomas
|
|
Nach oben |
|
|
pyrrhon registrierter User
Anmeldungsdatum: 22.05.2004 Beiträge: 8770
|
(#228096) Verfasst am: 14.12.2004, 11:38 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Thomas Waschke hat folgendes geschrieben: | ein 'gewisse' Verwandtschaft besteht IMAO bestenfalls darin, dass die Syntax beider Sprachen an C++ angelehnt ist. |
Ja, natürlich. Genauso wie C# so etwas wie eine Mischung aus Java und C++ ist. C++ ist so verbreitet, dass neue Sprachen sehr oft recht viel von C++ entnehmen, sodass ein Umstieg nicht zu schwierig ist. Das war bei Java genauso: Java bietet etwas, was C++ nicht leisten kann, sodass sich ein Umstieg lohnt, es ist aber ähnlich genug, dass ein Umstieg recht problemlos ist. Ein C++ Programmierer hat also üblicherweise kaum Probleme, auf Java oder C# umzusteigen, weil die Syntax weitgehend ident oder zumindest sehr ähnlich ist. Allerdings gibt es im Detail wieder größere konzeptionelle Unterschiede (eh klar, sonst bräuchte man keine neuen Sprachen).
Hier war für mich entscheidend, dass zwischen JavaScript und Java keine Verwandtschaft in dem Sinn besteht, dass JavaScript so etwas wie interpretiertes Java wäre. Dein Vergleich mit Gummibärchen und Gummireifen gefällt mir recht gut.
() Nagarjuna
|
|
Nach oben |
|
|
El Schwalmo Atheistischer Agnostiker
Anmeldungsdatum: 06.11.2003 Beiträge: 9070
|
(#228101) Verfasst am: 14.12.2004, 12:03 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Hi Nagarjuna,
Nagarjuna hat folgendes geschrieben: | Thomas Waschke hat folgendes geschrieben: | ein 'gewisse' Verwandtschaft besteht IMAO bestenfalls darin, dass die Syntax beider Sprachen an C++ angelehnt ist. |
Ja, natürlich. Genauso wie C# so etwas wie eine Mischung aus Java und C++ ist. C++ ist so verbreitet, dass neue Sprachen sehr oft recht viel von C++ entnehmen, sodass ein Umstieg nicht zu schwierig ist. Das war bei Java genauso: Java bietet etwas, was C++ nicht leisten kann, sodass sich ein Umstieg lohnt, es ist aber ähnlich genug, dass ein Umstieg recht problemlos ist. Ein C++ Programmierer hat also üblicherweise kaum Probleme, auf Java oder C# umzusteigen, weil die Syntax weitgehend ident oder zumindest sehr ähnlich ist. Allerdings gibt es im Detail wieder größere konzeptionelle Unterschiede (eh klar, sonst bräuchte man keine neuen Sprachen). |
hmmm, ich rede jetzt als Blinder von Farben (ich habe weder in C++ noch in Java Programmiererfahrung, die über 'Hallo Welt' weit hinausgehen würde). AFAIK wurde Java unter dem Namen 'Oak' entwickelt und stellte eine _Unter_menge von C++ dar. Die 'Erweiterung' war nur, dass es eine Art SandBox darstellte, indem man alles von C++ abspeckte, das irgendwie mit Schreibrechten auf die Festplatte etc. zu tun hatte.
Vermutlich kennst Du Dich da besser aus.
Nagarjuna hat folgendes geschrieben: | Hier war für mich entscheidend, dass zwischen JavaScript und Java keine Verwandtschaft in dem Sinn besteht, dass JavaScript so etwas wie interpretiertes Java wäre. Dein Vergleich mit Gummibärchen und Gummireifen gefällt mir recht gut. |
ACK
BTW, der Vergleich war nicht von mir, aber ich fand ihn so treffend, dass ich ihn mir gemerkt habe. Der Autor möge verzeihen, dass ich seinen Namen nicht mehr erinnere.
Grüßle
Thomas
|
|
Nach oben |
|
|
pyrrhon registrierter User
Anmeldungsdatum: 22.05.2004 Beiträge: 8770
|
(#228108) Verfasst am: 14.12.2004, 12:32 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Thomas Waschke hat folgendes geschrieben: | AFAIK wurde Java unter dem Namen 'Oak' entwickelt und stellte eine _Unter_menge von C++ dar. Die 'Erweiterung' war nur, dass es eine Art SandBox darstellte, indem man alles von C++ abspeckte, das irgendwie mit Schreibrechten auf die Festplatte etc. zu tun hatte. |
Ich begann erst mit Java 2 in der Version 1.3.x - Oak kannte ich nicht. In der Zwischenzeit hat sich enorm viel getan, J2SE 5.0 ist mit Oak nicht mehr wirklich vergleichbar. Java ist bei weitem nicht mehr nur eine Untermenge von C++, sondern bietet nicht nur Goodies, die C++ nicht bietet, zB einen Garbage Collector, sondern ist in Vielem schon allein konzeptionell anders (durchaus besser - meine Meinung). Es ist zB viel konsequenter objektorientiert.
Das mit den Schreibrechten stimmt so allgemein nicht ganz: wie sonst könnte ein in Java geschriebener Editor wie JEdit oder ganze IDE's wie JBuilder komplett in Java geschrieben werden? Es macht aber einen Unterschied, ob Du ein Applet, eine Desktop-Applikation oder eine Server-Applikation schreibst.
() Nagarjuna
|
|
Nach oben |
|
|
El Schwalmo Atheistischer Agnostiker
Anmeldungsdatum: 06.11.2003 Beiträge: 9070
|
(#228131) Verfasst am: 14.12.2004, 13:15 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Hi Nagarjuna,
Nagarjuna hat folgendes geschrieben: |
[ ... ]
Das mit den Schreibrechten stimmt so allgemein nicht ganz: wie sonst könnte ein in Java geschriebener Editor wie JEdit oder ganze IDE's wie JBuilder komplett in Java geschrieben werden? Es macht aber einen Unterschied, ob Du ein Applet, eine Desktop-Applikation oder eine Server-Applikation schreibst. |
wie gesagt, ich kenne mich da nicht besonders aus. Ich habe das, was ich gepostet habe, vor etwa 8 Jahren irgendwo gelesen. Damals war Java noch recht neu und das Heft, aus dem ich die Infos hatte, war eine Zeitschrift für WebDesign. Kann sein, dass es da nur um Applets ging.
Aber ich erinnere mich genau daran, dass der eigentlich Sinn darin bestand, Programme auf dem Client ablaufen zu lassen, die nichts 'kaputtmachen' konnten.
Grüßle
Thomas
|
|
Nach oben |
|
|
sascha bekennender magnusfe-Fan
Anmeldungsdatum: 30.08.2004 Beiträge: 1449
Wohnort: Bremen
|
(#228135) Verfasst am: 14.12.2004, 13:27 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Nagarjuna hat folgendes geschrieben: | Thomas Waschke hat folgendes geschrieben: | AFAIK wurde Java unter dem Namen 'Oak' entwickelt und stellte eine _Unter_menge von C++ dar. Die 'Erweiterung' war nur, dass es eine Art SandBox darstellte, indem man alles von C++ abspeckte, das irgendwie mit Schreibrechten auf die Festplatte etc. zu tun hatte. |
Ich begann erst mit Java 2 in der Version 1.3.x - Oak kannte ich nicht. In der Zwischenzeit hat sich enorm viel getan, J2SE 5.0 ist mit Oak nicht mehr wirklich vergleichbar. Java ist bei weitem nicht mehr nur eine Untermenge von C++, sondern bietet nicht nur Goodies, die C++ nicht bietet, zB einen Garbage Collector, sondern ist in Vielem schon allein konzeptionell anders (durchaus besser - meine Meinung). Es ist zB viel konsequenter objektorientiert. | Ich weiss nicht, ob Java mal ne Untermenge von C++ war, aber ich finde heute, dass Java und C++ nicht mehr viel miteinander gemein haben. Java ist etwas stärker objektorientiert, dafür ist C++ spürbar maschinennäher, gerade auch was den Speicher anbelangt, d.h. in Java gilt für primitive Datentypen immer call by value, für Objekte/Verbunddatentypen immer call by reference. Das ist bei C++ total anders, da musst du das selbst steuern, ob etwas by value, by reference oder als pointer sein soll, und das ist ingesamt ziemlich kompliziert zu verstehen / gibt auch viele Sonderfälle. Mit Carbage Collector is da nix; nicht-temporäre Objekte, die man mit new() erzeugt hat, muss man alle zur gegebenen Zeit (man muss auch selbst ermitteln/im Voraus beim Programmieren wissen, WANN ein Objekt nicht mehr gebraucht wird und es gelöscht werden darf) selber löschen. Sonst hat man schnell Speicherlöcher, und die kann man, wenn man seine Anwendung nicht mehr überblickt/überschaut, oft auch nur noch mit nem Debugger finden. Achja, und dann noch die Zugriffsrechte (ok, hat man in java auch), und ein wenig verwirrend sind auch die vielen verschiedenen Bedeutungen des Schlüsselwortes "const", je nach dem, WO es steht. Und Pointer auf Pointer und sowas. Das ist schon ziemlich verwirrend, besonders wenn man noch eher Anfänger ist. Irgendwann hat man das meiste dann glaube ich drauf. Dafür ist C++ aber auch schön schnell und beansprucht die CPU nicht so wie Java. Ich halte es zum Beispiel auch für einen richtigen Fehler, Distributed-Computing-Programme, die physikalische Vorgänge im Computer simulieren, in Java zu programmieren (so geschehen bei Community TSC, DHE und ich glaube auch D2OL). JavaScript ist übrigens wie ich finde trotz allem ein guter Einstieg für Java, weil man in JavaScript einerseits schon ein bisserl über die Objektorientierung mitkriegt, und anderseits auch wegen der Syntax. Und C++ halte ich für einen der besten Wege, Java zu verlernen, ebenso, wie Java zu lernen, sicher ein guter Weg ist, um vorher angesammeltes C++-Wissen zu vergessen Was auch echt ganz schön Schwierigkeiten bereiten kann
Ich kann mir aber auch irgendwie nicht vorstellen, dass Java mal als Untermenge von C++ gedacht gewesen sein soll, allein schon, weil Java doch interpretiert wird und so.. das ist doch total CPU-fern.
|
|
Nach oben |
|
|
pyrrhon registrierter User
Anmeldungsdatum: 22.05.2004 Beiträge: 8770
|
(#228148) Verfasst am: 14.12.2004, 14:18 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Thomas Waschke hat folgendes geschrieben: | Ich habe das, was ich gepostet habe, vor etwa 8 Jahren irgendwo gelesen. Damals war Java noch recht neu und das Heft, aus dem ich die Infos hatte, war eine Zeitschrift für WebDesign. Kann sein, dass es da nur um Applets ging. |
Ok. Dann ist's klar! Ich vermute sehr stark, dass es da nur um Applets ging.
() Nagarjuna
|
|
Nach oben |
|
|
pyrrhon registrierter User
Anmeldungsdatum: 22.05.2004 Beiträge: 8770
|
(#228150) Verfasst am: 14.12.2004, 14:29 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Hallo sascha!
Thx for your intro! Java ist in der Tat konzeptionell sehr anders. Ob Java eine Untermenge von C++ war, bin ich mir auch nicht ganz sicher, weil ich die Geschichte von Java zu wenig gut kenne, ich weiß aber sehr sicher, dass es sehr bewusst sehr C++ ähnlich entworfen wurde.
sascha hat folgendes geschrieben: | Dafür ist C++ aber auch schön schnell und beansprucht die CPU nicht so wie Java. Ich halte es zum Beispiel auch für einen richtigen Fehler, Distributed-Computing-Programme, die physikalische Vorgänge im Computer simulieren, in Java zu programmieren (so geschehen bei Community TSC, DHE und ich glaube auch D2OL). |
Was die Geschwindigkeit betrifft, gibt es inzwischen keinen Grund mehr, C++ Java vorzuziehen. In der Zwischenzeit ist Java so schnell geworden, dass es, wenn Du Performance willst, lieber Java wählen solltest:
http://www.idiom.com/~zilla/Computer/javaCbenchmark.html
Java ist längst keine rein interpretierende Sprache mehr. Du hast sicher schon etwas von JIT gehört: "Just in Time". Das heißt, der Java Code wird zur Laufzeit kompiliert und läuft in der Regel deutlich schneller als ein C++ Programm, das nicht speziell für die verwendete CPU optimiert wurde und ist in der Regel nicht schlechter als ein C++ Programm, das speziell für die verwendete CPU optimiert wurde.
() Nagarjuna
|
|
Nach oben |
|
|
sascha bekennender magnusfe-Fan
Anmeldungsdatum: 30.08.2004 Beiträge: 1449
Wohnort: Bremen
|
(#228152) Verfasst am: 14.12.2004, 14:41 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Nagarjuna hat folgendes geschrieben: | Java ist längst keine rein interpretierende Sprache mehr. Du hast sicher schon etwas von JIT gehört: "Just in Time". Das heißt, der Java Code wird zur Laufzeit kompiliert und läuft in der Regel deutlich schneller als ein C++ Programm, das nicht speziell für die verwendete CPU optimiert wurde und ist in der Regel nicht schlechter als ein C++ Programm, das speziell für die verwendete CPU optimiert wurde.
() Nagarjuna | Puuh.. Ja? ..Also das erstaunt mich Werd ich direkt mal ausprobieren.
|
|
Nach oben |
|
|
FLoH Mitglied bis 15.11.06
Anmeldungsdatum: 15.12.2004 Beiträge: 106
|
(#230095) Verfasst am: 19.12.2004, 18:21 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Nagarjuna hat folgendes geschrieben: | Java ist längst keine rein interpretierende Sprache mehr. Du hast sicher schon etwas von JIT gehört: "Just in Time". Das heißt, der Java Code wird zur Laufzeit kompiliert und läuft in der Regel deutlich schneller als ein C++ Programm, das nicht speziell für die verwendete CPU optimiert wurde und ist in der Regel nicht schlechter als ein C++ Programm, das speziell für die verwendete CPU optimiert wurde. |
Ein Interpreter macht doch eigentlich nichts anderes als JIT-Übersetzung des Codes, oder? Insofern stände z.B. Perl, Python oder Ruby auf gleicher Ebene mit Java. Wäre nett, wenn mir jemand den Unterschied der technischen Umsetzung zwischen einmaliger Kompilierung, JIT-Kompilierung und Interpretieren erklärt .
FLoH.
PS: Eine Sprache interpretiert nicht, sie wird interpretiert. Folglich ist "interpretierende Sprache" falsch, "interpretierte Sprache wäre richtig.
|
|
Nach oben |
|
|
GermanHeretic Individualoptimist & Kulturpessimist
Anmeldungsdatum: 16.06.2004 Beiträge: 4932
|
(#231921) Verfasst am: 23.12.2004, 11:45 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
FLoH hat folgendes geschrieben: | Wäre nett, wenn mir jemand den Unterschied der technischen Umsetzung zwischen einmaliger Kompilierung, JIT-Kompilierung und Interpretieren erklärt . |
einmalige Kompilierung: Übersetzt den Quellcode (d.h. Klartext) in ein ausführbares Programm und produziert dabei eine gesonderte Datei. Diese läuft dann auch nur auf dem Prozessortyp, für den sie kompiliert wurde.
Interpreter: Liest den Quellcode und übersetzt die Programmbefehle (im Klartext) zur Laufzeit in Befehle für den Prozessor.
JIT-Kompiler: Ist eigentlich auch ein Interpreter. Übersetzt den Quellcode während der Laufzeit in einen für Maschinen einfacher lesbaren, temporären Code, der dann von einer sog. Run-time o. VirtualMachine (um mal java Slang zu verwenden) interpretiert und ausgeführt wird. Obwohls vielleicht umständlicher klingt, ist das wesentlich schneller als ein reiner Interpreter.
Und dann gibt's noch was ähnliches, dieser für die Run-time kompilierte Code wird nicht temprorär erzeugt sondern dauerhaft und als Programm ausgeliefert. So arbeitet Microdoofs dotDreck (.Net).
_________________ "Nehmen Sie einem Durchschnittsmenschen die Lebenslüge, und Sie nehmen ihm zu gleicher Zeit das Glück." (Henrik Ibsen)
|
|
Nach oben |
|
|
FLoH Mitglied bis 15.11.06
Anmeldungsdatum: 15.12.2004 Beiträge: 106
|
(#231973) Verfasst am: 23.12.2004, 13:28 Titel: |
|
|
Danke, mein Erleuchter , so ist mir die Sache schon klarer.
|
|
Nach oben |
|
|
Ford Prefect Schwätzer
Anmeldungsdatum: 15.10.2003 Beiträge: 114
|
(#232189) Verfasst am: 23.12.2004, 20:53 Titel: Re: Java oder JavaScript. Kennst Du den Unterschied? |
|
|
Nagarjuna hat folgendes geschrieben: | Was die Geschwindigkeit betrifft, gibt es inzwischen keinen Grund mehr, C++ Java vorzuziehen. In der Zwischenzeit ist Java so schnell geworden, dass es, wenn Du Performance willst, lieber Java wählen solltest: |
Dieser Test ist mehr als zweifelhaft. Wahr ist nur, dass Java einiges an Performance gewonnen hat und das Vorurteil "Java ist langsam" heute so nicht mehr stimmt. Allerdings haben sich auch die C/C++ Compiler erstaunlich weiterentwickelt und erzeugen verdammt performanten Code.
Bei solchen Tests hat der Tester meist nie fundiertes Wissen über beide Sprachen und dementsprechend sind die Messergebnisse insofern verfälscht, als dass mindestens ein Programm nicht vernünftig implementiert wurde. Ein noch so guter Compiler kann bei einem laienhaft implementierten Testprogramm auch nicht zaubern.
Ich würde sagen: Java ist nur noch so geringfügig langsamer, dass es keinen Unterschied macht ob Java oder C++. Geschmacksache! Am wichtigsten für die Performance sind vernünftige Algorithmen!
|
|
Nach oben |
|
|
kamelpeitsche Weapon of Mass Discussion
Anmeldungsdatum: 15.11.2003 Beiträge: 4555
Wohnort: Devil's Dancefloor
|
(#232327) Verfasst am: 24.12.2004, 02:12 Titel: |
|
|
Ist mir egal.
_________________ "Was immer jeder Einzelne mitbringen will an Prägung oder Anderssein - einem kollektiven Imperativ enzieht es sich mit Sicherheit"
|
|
Nach oben |
|
|
|