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: ML82 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. Stromnetz Hamburg GmbH, Hamburg
  2. Modis GmbH, Kiel
  3. Explicatis GmbH, Köln
  4. Ludwig-Maximilians-Universität (LMU) München, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. Hitman Goty, God Eater 2 Rage Burst, Tropico 4 Collector's Bundle)
  2. 49,94€
  3. 19,95€
  4. 13,95€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Minecraft Dungeons angespielt: Fehlt nur noch ein Klötzchen-Diablo in der Tiefe
Minecraft Dungeons angespielt
Fehlt nur noch ein Klötzchen-Diablo in der Tiefe

E3 2019 Von der Steuerung bis zu den Schatzkisten: Minecraft Dungeons hat uns beim Anspielen bis auf die Klötzchengrafik verblüffend stark an Diablo erinnert - und könnte gerade deshalb teuflisch spaßig werden!

  1. Augmented Reality Minecraft Earth erlaubt Klötzchenbauen in aller Welt
  2. Microsoft Augmented-Reality-Minecraft kommt zum zehnten Jubiläum
  3. Jubiläum ohne Notch Microsoft feiert Minecraft ohne Markus Persson

Ada und Spark: Mehr Sicherheit durch bessere Programmiersprachen
Ada und Spark
Mehr Sicherheit durch bessere Programmiersprachen

Viele Sicherheitslücken in Software sind auf Programmierfehler zurückzuführen. Diese Fehler lassen sich aber vermeiden - und zwar unter anderem durch die Wahl einer guten Programmiersprache. Ada und Spark gehören dazu, leider sind sie immer noch wenig bekannt.
Von Johannes Kanig

  1. Das andere How-to Deutsch lernen für Programmierer
  2. Programmiersprachen, Pakete, IDEs So steigen Entwickler in Machine Learning ein

5G-Auktion: Warum der Preis der 5G-Frequenzen so hoch war
5G-Auktion
Warum der Preis der 5G-Frequenzen so hoch war

Dass die Frequenzen für den 5G-Mobilfunk teuer wurden, lasten Telekom, Vodafone und Telefónica dem Newcomer United Internet an. Doch dies ist laut dem Netzplaner Kai Seim nicht so gewesen.
Eine Analyse von Achim Sawall

  1. Funklöcher Hohe Bußgelder gegen säumige Mobilfunknetzbetreiber
  2. Bundesnetzagentur 5G-Frequenzauktion erreicht 6,5 Milliarden Euro
  3. 5G-Auktion Etablierte wollen Preis für 1&1 Drillisch hochtreiben

  1. Funklöcher: Telekom weist Vorwürfe zu schlechtem Antennenstandort zurück
    Funklöcher
    Telekom weist Vorwürfe zu schlechtem Antennenstandort zurück

    Nach den Vorwürfen eines Ortsteilbürgermeisters zu arrogantem Vorgehen bei der Standortauswahl in einem Ort in Thüringen sieht sich die Telekom missverstanden. Auch sei die Ausleuchtung beider Ortsteile mit einer Antenne nicht möglich, sagt ein Sprecher.

  2. Bethesda: Wolfenstein Youngblood erscheint mit Nazis und Hakenkreuzen
    Bethesda
    Wolfenstein Youngblood erscheint mit Nazis und Hakenkreuzen

    Kein anonymes Regime, sondern Nazis und keine erfundenen Symbole, sondern Hakenkreuze: Wolfenstein Youngblood und das VR-Actionspiel Cyberpilot erscheinen auch in Deutschland in einer ungeschnittenen Version.

  3. Roli Lumi: Mit LED-Keyboard und Guitar-Hero-Klon musizieren lernen
    Roli Lumi
    Mit LED-Keyboard und Guitar-Hero-Klon musizieren lernen

    Roli will Anfängern den Einstieg in das Musikmachen erleichtern und finanziert deshalb auf Kickstarter das Roli-Lumi-Keyboard mit passender App. Nutzer lernen damit, Lieder zu spielen, indem das Keyboard die richtigen Tasten aufleuchten lässt. Es lassen sich zwei Keyboards zu einem größeren zusammenstecken.


  1. 18:13

  2. 17:54

  3. 17:39

  4. 17:10

  5. 16:45

  6. 16:31

  7. 15:40

  8. 15:27