Abo
  1. Foren
  2. Kommentare
  3. OpenSource
  4. Alle Kommentare zum Artikel
  5. › Vespa: Yahoos Big-Data-Engine wird…

Wieso JAVA?

  1. Thema

Neues Thema Ansicht wechseln


  1. Wieso JAVA?

    Autor: Electrony 02.10.17 - 13:31

    Moin, wieso genau ist das Ganze in Java programmiert? Wäre eine native (C/C++ oder sogar ASM) Sprache nicht angebrachter für solche High-Performance Anwendungen?

    MfG.

  2. Re: Wieso JAVA?

    Autor: 486dx4-160 02.10.17 - 14:51

    Electrony schrieb:
    --------------------------------------------------------------------------------
    > Moin, wieso genau ist das Ganze in Java programmiert? Wäre eine native
    > (C/C++ oder sogar ASM) Sprache nicht angebrachter für solche
    > High-Performance Anwendungen?
    >
    > MfG.

    Java und C++ schenken sich nichts, wenn es um Geschwindigkeit geht. Mal ist Java schneller, mal C++. Mit Standard-C++-Compilerflags ist eigentlich immer Java schneller. Java-Code ist aber zusätzlich noch portabel, der läuft unter AIX auf Power genauso wie auf einem Windows-Intel-Rechner und muss noch nicht einmal neu übersetzt werden.
    C ist für größere Anwendungen nur bedingt geeignet, das Programmieren dauert wesentlich länger ist ist fehleranfälliger. Auch C++ merkt man an, dass es einige Semester mehr auf dem Buckel hat als Java. Für Neuprojekte würde ich heute definitiv kein C++ mehr einsetzen, nicht mal für Windows-Desktopanwendungen.



    1 mal bearbeitet, zuletzt am 02.10.17 14:53 durch 486dx4-160.

  3. Re: Wieso JAVA?

    Autor: qbl 02.10.17 - 20:27

    486dx4-160 schrieb:
    --------------------------------------------------------------------------------
    > Electrony schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Moin, wieso genau ist das Ganze in Java programmiert? Wäre eine native
    > > (C/C++ oder sogar ASM) Sprache nicht angebrachter für solche
    > > High-Performance Anwendungen?
    > >
    > > MfG.
    >
    > Java und C++ schenken sich nichts, wenn es um Geschwindigkeit geht. Mal ist
    > Java schneller, mal C++. Mit Standard-C++-Compilerflags ist eigentlich
    > immer Java schneller.
    Java kann mit einer compilierten Anwendung nur dann mithalten, wenn es gelingt, den Overhead des JIT-Compilers ( just in time) zu maskieren. Das ist bei Anwendungen, die sehr viele lang laufende Schleifen enthalten sicherlich richtig. Das ist auch recht häufig zu finden. Laufen die Schleifen hingegen nur kurz oder ist gar das Programm „linear“, so zeigt sich der Overhead in seiner vollen Pracht.
    „Standard-C++-Compilerflags“ bedeutet eigentlich immer „ohne Optimierung“. Das bremst gewaltig, besonders dann, wenn kurze Schleifen mit häufigen Iterationen vorhanden sind - also genau dann, wenn die Nachteile des JIT-Compilers bei Javaanwendungen nicht ins Gewicht fallen...
    Das nichtsetzen von Compilerflags und die Verwendung von C/C++-Code, der durch einen Javaprogrammierer erzeugt wurde sind eine beliebte Methode, um Java gut aussehen zu lassen. Ein weiterer Trick ist es eine Maschine zu verwenden, die so schnell ist, dass sich an anderer Stelle ein Flaschenhals auftut. Dann erzeugt die Javaanwendung unter Umständen 90% CPU-Last und das C/C++-Gegenstück 50%, was aber bei einer reinen Laufzeitmessung nicht weiter auffällt...
    >Java-Code ist aber zusätzlich noch portabel, der
    > läuft unter AIX auf Power genauso wie auf einem Windows-Intel-Rechner und
    > muss noch nicht einmal neu übersetzt werden.
    Im Prinzip richtig, aber wenn plattformspezifische Eigenschaften genutzt werden, ist dies nicht mehr der Fall. Werden hingegen keine plattformspezifischen Eigenschaften genutzt, so sind auch Programme, die mit C/C++ geschrieben wurden leicht portierbar. Es bleibt also nur der zusätzliche Aufwand, die Anwendung für jede Zielplattform zu compilieren. Bei Java geschieht dies im Idealfall nur einmal. Liegt auf der Zielplattform aber eine ältere Laufzeitumgebung oder gar eine von einem anderen Hersteller vor, so kommt es auch hier zuweilen zu Problemen.
    > C ist für größere Anwendungen nur bedingt geeignet, das Programmieren
    > dauert wesentlich länger ist ist fehleranfälliger.
    Dem möchte ich doch einmal widersprechen. Wenn Du allerdings einen Javaprogrammierer auf C-Code loslässt, so ist dies korrekt. Das sieht im umgekehrten Fall allerdings genauso aus. Der Zeitaufwand ist stark vom Projekt abhängig. Java hat hier den Vorteil, dass es für viele Fälle bereits vorgefertigte Bibliotheken mitbringt. Für meinen Geschmack sogar zu viele, teils veraltet und als „deprecated“ markiert. Für C hingegen gibt es ebenfalls Unmengen an Bibliotheken, teilweise Standardisiert ( POSIX), teilweise als 3rd-party. Ein geübter Programmierer braucht nicht lange um etwas passendes zu finden - weder auf Java, noch auf C. Darüber hinaus besteht ein großer Teil der Softwareentwicklung aus Testen. Hier hat C dann Nachteile, wenn nicht sorgfältig gearbeitet wurde und schwer zu lokalisierende Fehler eingebaut wurden, wie zum Beispiel „use after free“.
    >Auch C++ merkt man an,
    > dass es einige Semester mehr auf dem Buckel hat als Java. Für Neuprojekte
    > würde ich heute definitiv kein C++ mehr einsetzen, nicht mal für
    > Windows-Desktopanwendungen.
    Glücklicherweise besteht die Welt nicht nur aus Windows- oder sonstigen Desktopanwendungen. Nebenbei bemerkt, ist dies einer der Fälle wo Objktorientierung tatsächlich Vorteile hat...

    Gruß
    qbl

  4. Re: Wieso JAVA?

    Autor: Anonymer Nutzer 02.10.17 - 22:53

    Eine einfache Erklärung wäre, dass das Semester welches den Code schreiben musste, sich schon besser mit Java auskannte als mit C++, C oder gar Assembler ... und noch nicht genug Praxis in C#, Python oder PHP hatte ... xD

    ... nach Orkham ist ja die einfachste Erklärung die wahrscheinlichste ...

    Niemals vergessen: es ist nichts verkehrt, wenn man es nur richtig macht!



    3 mal bearbeitet, zuletzt am 02.10.17 23:03 durch ML82.

  5. Re: Wieso JAVA?

    Autor: Vielfalt 05.10.17 - 07:51

    Wieso net C#?

  1. Thema

Neues Thema Ansicht wechseln


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

Stellenmarkt
  1. BRUNATA-METRONA GmbH & Co. KG, München
  2. Lidl Digital, Neckarsulm
  3. SSI SCHÄFER Automation GmbH, Giebelstadt bei Würzburg, Obertshausen
  4. TOTAL Bitumen Deutschland GmbH, Brunsbüttel

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. Fire HD 8 für 69,99€, Fire 7 für 44,99€, Fire HD 10 für 104,99€)
  2. (aktuell u. a. X Rocker Shadow 2.0 Floor Rocker Gaming Stuhl in verschiedenen Farben je 64,90€)
  3. 337,00€
  4. (u. a. HP 34f Curved Monitor für 389,00€, Acer 32 Zoll Curved Monitor für 222,00€, Seasonic...


Haben wir etwas übersehen?

E-Mail an news@golem.de


iPad 7 im Test: Nicht nur für Einsteiger lohnenswert
iPad 7 im Test
Nicht nur für Einsteiger lohnenswert

Auch mit der siebten Version des klassischen iPads richtet sich Apple wieder an Nutzer im Einsteigersegment. Dennoch ist das Tablet sehr leistungsfähig und kommt mit Smart-Keyboard-Unterstützung. Wer ein gutes, lange unterstütztes Tablet sucht, kann sich freuen - ärgerlich sind die Preise fürs Zubehör.
Ein Test von Tobias Költzsch

  1. iPad Einschränkungen für Apples Sidecar-Funktion
  2. Apple Microsoft Office auf neuem iPad nicht mehr kostenlos nutzbar
  3. Tablet Apple bringt die 7. Generation des iPads

Gemini Man: Überflüssiges Klonexperiment
Gemini Man
Überflüssiges Klonexperiment

Am 3. Oktober kommt mit Gemini Man ein ambitioniertes Projekt in die deutschen Kinos: Mit HFR-Projektion in 60 Bildern pro Sekunde und Will Smith, der gegen sein digital verjüngtes Ebenbild kämpft, betreibt der Actionfilm technisch viel Aufwand. Das Seherlebnis ist jedoch bestenfalls komisch.
Von Daniel Pook

  1. Filmkritik Apollo 11 Echte Mondlandung als packende Kinozeitreise

SSD-Kompendium: AHCI, M.2, NVMe, PCIe, Sata, U.2 - ein Überblick
SSD-Kompendium
AHCI, M.2, NVMe, PCIe, Sata, U.2 - ein Überblick

Heutige SSDs gibt es in allerhand Formfaktoren mit diversen Anbindungen und Protokollen, selbst der verwendete Speicher ist längst nicht mehr zwingend NAND-Flash. Wir erläutern die Unterschiede und Gemeinsamkeiten der Solid State Drives.
Von Marc Sauter

  1. PM1733 Samsungs PCIe-Gen4-SSD macht die 8 GByte/s voll
  2. PS5018-E18 Phisons PCIe-Gen4-SSD-Controller liefert 7 GByte/s
  3. Ultrastar SN640 Western Digital bringt SSD mit 31 TByte im E1.L-Ruler-Format

  1. BSI-Präsident: "Emotet ist der König der Schadsoftware"
    BSI-Präsident
    "Emotet ist der König der Schadsoftware"

    Das BSI sieht eine weiterhin steigende Bedrohung durch Gefahren im Internet, vor allem setzt demnach die Schadsoftware Emotet der Wirtschaft zu. BSI-Präsident und Bundesinneminister betonen ihre Hilfsbereitschaft in Sachen Cybersicherheit, appellieren aber auch an die Verantwortung von Verbrauchern und Unternehmen.

  2. Flip 2: Samsungs digitales Flipchart wird größer und kann Office 365
    Flip 2
    Samsungs digitales Flipchart wird größer und kann Office 365

    Das Samsung Flip 2 ist im Kern wieder ein Flipchart, an welchem Teams ihre Ideen zu digitalem Papier bringen können. Ein Unterschied: Es wird auch eine 65-Zoll-Version geben. Außerdem kann es in Verbindung mit Office 365 genutzt werden.

  3. Star Wars Jedi Fallen Order angespielt: Die Rückkehr der Sternenkriegersolospiele
    Star Wars Jedi Fallen Order angespielt
    Die Rückkehr der Sternenkriegersolospiele

    Seit dem 2003 veröffentlichten Jedi Academy warten Star-Wars-Fans auf ein mächtig gutes neues Actionspiel auf Basis von Star Wars. Demnächst könnte es wieder soweit sein: Beim Anspielen hat Jedi Fallen Order jedenfalls viel Spaß gemacht - trotz oder wegen Anleihen bei Tomb Raider.


  1. 19:25

  2. 17:18

  3. 17:01

  4. 16:51

  5. 15:27

  6. 14:37

  7. 14:07

  8. 13:24