1. Foren
  2. Kommentare
  3. Applikationen
  4. Alle Kommentare zum Artikel
  5. › Google-Browser: Chrome 31 für…

Genial! Google erfindet Java

  1. Thema

Neues Thema Ansicht wechseln


  1. Genial! Google erfindet Java

    Autor: /mecki78 13.11.13 - 12:46

    > Dazu kompiliert PNaCl den C- und C++-Code in eine Zwischenversion,
    > statt direkt architekturabhängigen Code zu erzeugen wie der Native Client.

    Unglaublich, genau das macht der Java Bytecode Compiler auch.

    > Dieser Zwischencode im Stil von LLVM-Bytecode wird dann in
    > eine portable, ausführbare Datei gepackt, die wie jede andere
    > Webseite über einen Webserver verteilt werden kann.

    Also genau wie bei Java: Der Zwischencode heißt bei Java "Bytecode", befindet sich in Klassendateien und diese werden zu einer portable, ausführen Datei gepackt, nennt sich Java Archive (JAR Datei), die ein Webserver wie jede andere Datei verteilen kann.

    > Beim Laden holt Chrome die Datei und erzeugt architekturspezifischen
    > Maschinencode, der für das jeweilige System optimiert ist.

    Genau das macht die Java Runtime auch. Ihr JIT (Just in Time) Compiler verwandelt den Bytecode in Maschinencode, optimiert für das jeweilige System.

    > Entwickler müssen ihren Code also nicht mehrfach für unterschiedliche
    > Plattformen erzeugen.

    Also genau wie bei Java.

    Einfach genial diese Leute bei Google. Haben sie doch glatt was erfunden, was es schon seit fast 20 Jahren gibt. Auf die Idee muss man erst einmal kommen.

    Genauso gut hätte man einen C/C++ Compiler schreiben können, der C/C++ Code in Bytecode umwandelt (derartige Projekte gibt es bereits AFAIK). Aber Java ist ja bekanntlich scheiße, außer Google hat es geschrieben und in ihren Browser eingebaut, dann ist es natürlich genial.

    /Mecki

  2. Re: Genial! Google erfindet Java

    Autor: TC 13.11.13 - 13:13

    nur das C wahrscheinlich schneller läuft ^^

  3. Re: Genial! Google erfindet Java

    Autor: theonlyone 13.11.13 - 13:15

    Sinn des ganzen ist es C/C++ Code einfach nativ auszuführen.

    Die Struktur der Architektur ist natürlich ziemlich ähnlich zu Java wie du es schreibst, den genau das MUSS es ja auch sein damit man die Funktionalität bekommt die man haben will.


    Will man in java sein C/C++ einfach nativ einfügen muss man das schon über JNI/JNA machen, geht zwar, aber ist nicht gerade elegant, da der Overhead der VM natürlich immer noch da ist (allgemein gering).


    Wirklich interessant wird das Ganze eben erst, wenn es wirklich um harte Performance geht und vermeintlich auch Legacy Code übernommen wird, den man nicht einfach neuschreiben kann (oder sich das sparen kann).


    Die Vorstellung das in Zukunft etwas das für den Desktop entwickelt wurde ohne Änderungen (oder nur sehr wenige) direkt im Browser läuft, ist ja wohl Prinzipiel mal eine gute sache (das dadurch gleich Sicherheitsrisiken mit einbezogen werden ist klar, darf man nicht vergessen).

  4. Nein...

    Autor: spaceMonster 13.11.13 - 13:21

    Was der Artikel weglässt, ist der Kackpunkt des ganzen:

    Eines der wichtigesten features von Native Client ist die aufwendige Rechteverwaltung des Code. Native Client Programme werden auf einer tieferen ebene auf Rechtsbrüche untersucht, als das bei Java Applets der fall war.
    Native Client stellt eine fortschrittliche Sandbox dar, die gleichzeit trotzdem performant sein kann wie anderer native code.
    http://www.chromium.org/nativeclient/pnacl/introduction-to-portable-native-client

    Ausserdem handelt es sich nicht um einen JIT (funktionen werden erst übersetzt wenn sie verwendet werden) sonder num einen Ahead of time compiler ( alles wird einmal vor dem start übersetzt)

  5. Re: Genial! Google erfindet Java

    Autor: /mecki78 13.11.13 - 14:17

    theonlyone schrieb:
    --------------------------------------------------------------------------------
    > Sinn des ganzen ist es C/C++ Code einfach nativ auszuführen.

    C kann man nicht nativ ausführen. C muss in CPU Instruktionen übersetzt werden, die kann man dann ausführen. Und eine Java Virtual Machine ist nichts weiter als eine virtuelle CPU, d.h. ich kann C auch in Bytecode Instruktionen umsetzen. Wie gesagt, da gibt es einige Projekte, die genau das machen (da kannst du C Code völlig unmodifiziert in einen Compiler stecken und raus kommt ein Java Class File).

    Eine JVM hingegen macht heute auch nichts anderes als den Bytecode in CPU Instruktionen zu wandeln und diese dann auszuführen.

    > Wirklich interessant wird das Ganze eben erst, wenn es wirklich um harte
    > Performance geht und vermeintlich auch Legacy Code übernommen wird, den man
    > nicht einfach neuschreiben kann (oder sich das sparen kann).

    Legacy Code ist kein Problem, siehe oben. Ich bin jetzt nur zu faul danach zu suchen, aber wie gesagt, es gibt Projekte, die schlucken einfachen C (oder sogar C++ Code) und machen Java Byte Code draus. Da muss man nichts neu schreiben.

    Was die Performance angeht, klar, das hängt davon ab wie guten Maschinen Code so ein JVM JIT Compiler aus dem Bytecode erzeugen kann. Dieser ist halt ggf. nicht so gut wie das was die meisten C Compiler aus C Code erzeugen. Allerdings stellt sich hier die Frage, ob der JIT Compiler von Google wirklich so viel besseren Code erzeugen kann. Und wenn ja, dann könnte man ja diesen Compiler auch in eine JVM einbauen.

    /Mecki

  6. Re: Genial! Google erfindet Java

    Autor: /mecki78 13.11.13 - 14:20

    TC schrieb:
    --------------------------------------------------------------------------------
    > nur das C wahrscheinlich schneller läuft ^^

    Wie schnell ein C Programm läuft, hängt davon ab, wie gut der Maschinencode ist, den der Compiler erzeugt hat, denn nicht C läuft auf der CPU, sondern CPU Instruktionen.

    Und ob jetzt

    C -> Zwischencode -> Maschinencode

    wirklich besser ist als

    Java -> Zwischencode -> Maschinencode

    ist fraglich, denn ich wette ich kann Java in Google's Zwischencode übersetzen, genauso wie ich C in Javas Bytecode übersetzen kann (derartige Compiler gibt es).

    /Mecki

  7. Re: Nein...

    Autor: /mecki78 13.11.13 - 14:23

    spaceMonster schrieb:
    --------------------------------------------------------------------------------
    > Native Client Programme werden auf einer
    > tieferen ebene auf Rechtsbrüche untersucht, [...]
    > Native Client stellt eine fortschrittliche Sandbox dar, [...]
    >
    > Ausserdem handelt es sich nicht um einen JIT (funktionen werden erst
    > übersetzt wenn sie verwendet werden) sonder num einen Ahead of time
    > compiler ( alles wird einmal vor dem start übersetzt)

    Und wer bitte verbietet einer JVM Java Code nicht auf Rechtsbrüchte zu prüfen, sondern in einer Sandbox laufen zu lassen, die keine Rechtsbrüche zulässt? Und wer verbietet einer JVM Java Code AOT statt JIT zu kompilieren?

    Nur weil Oracle das derzeit so nicht macht, bedeutet dass nicht, dass sie das nicht zukünftig auch so machen können/wollen/werden. Außerdem steht es jedem frei eine JVM zu schreiben und wie es dann deine JVM macht, dass darfst gerne du entscheiden.

    /Mecki

  8. Re: Nein...

    Autor: Paykz0r 13.11.13 - 14:57

    spaceMonster schrieb:
    --------------------------------------------------------------------------------
    > Was der Artikel weglässt, ist der Kackpunkt des ganzen:
    Kackpunkt?

    xD

  9. Re: Genial! Google erfindet Java

    Autor: Paykz0r 13.11.13 - 15:00

    /mecki78 schrieb:
    --------------------------------------------------------------------------------
    > > Dazu kompiliert PNaCl den C- und C++-Code in eine Zwischenversion,
    > > statt direkt architekturabhängigen Code zu erzeugen wie der Native
    > Client.
    >
    > Unglaublich, genau das macht der Java Bytecode Compiler auch.
    >
    > > Dieser Zwischencode im Stil von LLVM-Bytecode wird dann in
    > > eine portable, ausführbare Datei gepackt, die wie jede andere
    > > Webseite über einen Webserver verteilt werden kann.
    >
    > Also genau wie bei Java: Der Zwischencode heißt bei Java "Bytecode",
    > befindet sich in Klassendateien und diese werden zu einer portable,
    > ausführen Datei gepackt, nennt sich Java Archive (JAR Datei), die ein
    > Webserver wie jede andere Datei verteilen kann.
    >
    > > Beim Laden holt Chrome die Datei und erzeugt architekturspezifischen
    > > Maschinencode, der für das jeweilige System optimiert ist.
    >
    > Genau das macht die Java Runtime auch. Ihr JIT (Just in Time) Compiler
    > verwandelt den Bytecode in Maschinencode, optimiert für das jeweilige
    > System.
    >
    > > Entwickler müssen ihren Code also nicht mehrfach für unterschiedliche
    > > Plattformen erzeugen.
    >
    > Also genau wie bei Java.
    >
    > Einfach genial diese Leute bei Google. Haben sie doch glatt was erfunden,
    > was es schon seit fast 20 Jahren gibt. Auf die Idee muss man erst einmal
    > kommen.
    >
    > Genauso gut hätte man einen C/C++ Compiler schreiben können, der C/C++ Code
    > in Bytecode umwandelt (derartige Projekte gibt es bereits AFAIK). Aber Java
    > ist ja bekanntlich scheiße, außer Google hat es geschrieben und in ihren
    > Browser eingebaut, dann ist es natürlich genial.

    Ok, da kennst sich jemand mit Java aus.
    Aber nicht mit C/C++...

    Die unterschiede sind Dir geläufig?

    -Java hat Profiling, was zur Laufzeit Code optimiert.
    C/C++ hat das nicht.

    -Java zwingt dich zu OOP, C/C++ nicht

    -Java hat nur einfach Vererbung. In C/C++ kannste machen was Du willst.

    Also nur weil es in Bytecode umgewandelt wird erfindet Google gar nix neu.
    Zu mal ASM.JS genau das selbe tut,
    nur der letzte Schritt der beim Client passiert gibt es dort nicht.
    Ich nehme an dieser Ansatz ist noch besser als ASM.JS...

    Von daher: Gern!

  10. Re: Genial! Google erfindet Java

    Autor: Llame 13.11.13 - 15:06

    > Aber Java ist ja bekanntlich scheiße

    Wer behauptet denn sowas? Ich finde Java ziemlich toll...

  11. Re: Genial! Google erfindet Java

    Autor: Paykz0r 13.11.13 - 15:14

    Llame schrieb:
    --------------------------------------------------------------------------------
    > > Aber Java ist ja bekanntlich scheiße
    >
    > Wer behauptet denn sowas? Ich finde Java ziemlich toll...

    Die Sprache ist gut und schön.
    Ideal um OOP kennen zu lernen.

    Das was die meisten Leute negativ mit Java in verbindung brngen hat null mit der Sprache zu tun.

    Gleiches gilt für Javascript.
    Wobei ich das zum lernen von OOP nicht empfehlen würde...

  12. Re: Genial! Google erfindet Java

    Autor: Haxx 13.11.13 - 18:57

    Paykz0r schrieb:
    --------------------------------------------------------------------------------
    > Das was die meisten Leute negativ mit Java in verbindung brngen hat null
    > mit der Sprache zu tun.
    >
    > Gleiches gilt für Javascript.

    Du beziehst dich auf die Performance?

    Das hat auf jeden Fall etwas mit der Sprache zu tun, zumindest im Fall von Javascript.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. HiPP-Werk Georg Hipp OHG, Pfaffenhofen Raum Ingolstadt
  2. RAPS GmbH & CO. KG, Kulmbach
  3. Arburg GmbH & Co. KG, Loßburg
  4. Holtzmann & Sohn GmbH, Ronnenberg

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 299,00€ (Bestpreis! zzgl. Versand)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Confidential Computing: Vertrauen ist schlecht, Kontrolle besser
Confidential Computing
Vertrauen ist schlecht, Kontrolle besser

Die IT-Welt zieht in die Cloud und damit auf fremde Rechner. Beim Confidential Computing sollen Daten trotzdem während der Nutzung geschützt werden, und zwar durch die Hardware - keine gute Idee!
Ein IMHO von Sebastian Grüner

  1. Gaia-X Knoten in Altmaiers Cloud identifzieren sich eindeutig
  2. Gaia-X Altmaiers Cloud-Pläne bleiben weiter wolkig
  3. Cloud Ex-SAP-Chef McDermott will Servicenow stark expandieren

Mi Note 10 im Kamera-Test: Der Herausforderer
Mi Note 10 im Kamera-Test
Der Herausforderer

Im ersten Hands on hat Xiaomis Fünf-Kamera-Smartphone Mi Note 10 bereits einen guten ersten Eindruck gemacht, jetzt ist der Vergleich mit anderen Smartphones dran. Dabei zeigt sich, dass es einen neuen, ernstzunehmenden Konkurrenten unter den besten Smartphone-Kameras gibt.
Von Tobias Költzsch

  1. Mi Note 10 im Hands on Fünf Kameras, die sich lohnen
  2. Xiaomi Neues Redmi Note 8T mit Vierfachkamera kostet 200 Euro
  3. Mi Note 10 Xiaomis neues Smartphone mit 108 Megapixeln kostet 550 Euro

Handelskrieg: Zartbittere Zeiten für Chinas Technikbranche
Handelskrieg
Zartbittere Zeiten für Chinas Technikbranche

"Bitterkeit essen" heißt es in China, wenn schlechte Zeiten überstanden werden müssen. Doch so schlimm wie Donald Trump es darstellt, wird der Handelskrieg mit den USA für Chinas Technikbranche wohl nicht werden.
Eine Analyse von Finn Mayer-Kuckuk

  1. Smarter Türöffner Nello One soll weiter nutzbar sein
  2. Bonaverde Berliner Kaffee-Startup meldet Insolvenz an
  3. Unitymedia Vodafone plant großen Stellenabbau in Deutschland

  1. Medienbericht: Twitch plant Spielestreaming ab 2020
    Medienbericht
    Twitch plant Spielestreaming ab 2020

    Neben Stadia von Google und Project Xcloud will offenbar ein weiterer Konzern ins Geschäft mit Spielestreaming einsteigen: Amazon soll über seinen Ableger Twitch entsprechende Pläne für 2020 haben.

  2. Linux-Rechner: System 76 will eigene Laptops bauen
    Linux-Rechner
    System 76 will eigene Laptops bauen

    Der auf Rechner mit vorinstallierten Linux-Systemen spezialisierte Hersteller System 76 will künftig auch eigene Laptops bauen, statt Barebones weiterzuverkaufen. Das Unternehmen baut bereits eigene Desktop-PCs.

  3. Honey Science: Paypal kauft Alibaba-Partner für 4 Milliarden US-Dollar
    Honey Science
    Paypal kauft Alibaba-Partner für 4 Milliarden US-Dollar

    Paypal erwirbt in seiner bisher größten Übernahme Honey Science, einen Rabattcode-Partner von AliExpress (Alibaba). Doch der Anbieter der Browser-Erweiterungen ist noch relativ klein.


  1. 15:04

  2. 13:53

  3. 13:05

  4. 12:18

  5. 11:54

  6. 11:45

  7. 11:25

  8. 11:16