1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Programmiersprache für…
  6. Thema

Warum ist Java so erfolgreich? :)

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Re: Warum ist Java so erfolgreich? :)

    Autor: teenriot* 29.09.17 - 22:05

    Java EE ist ein Industriestandard und OpenJDK ist mittlerweile die Referenzimplementierung. Punktuelle Unzulänglichkeiten in JavaFX erlauben sicher kein Urteil über Java in Gänze.

  2. Re: Warum ist Java so erfolgreich? :)

    Autor: elcravo 30.09.17 - 10:51

    Menplant schrieb:
    --------------------------------------------------------------------------------
    > elcravo schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Wieso sollte es nur 3 verschiedene Sprachen geben? Ich finde es gut so
    > wie
    > > es ist. Sonst gäbe es z.B. das Crystal Projekt nicht.
    > >
    > > > Fast as C, slick as Ruby.
    > >
    > > crystal-lang.org
    >
    > leider behauptet jede 2. Programmiersprache so schnell wie C zu sein, nur
    > keiner ist das bisher so richtig gelungen (selbst C++ nicht) bzw.
    > beschränkt sich nur auf einzelne wenige Funktionen die ab und zu vll. sogar
    > mal schneller sind.

    Hast du dir auch mal die Benchmarks angeschaut oder behauptest du das jetzt einfach so?

  3. Performance ist nicht so trivial, wie du denkst

    Autor: Hello_World 30.09.17 - 11:02

    Menplant schrieb:
    --------------------------------------------------------------------------------
    > leider behauptet jede 2. Programmiersprache so schnell wie C zu sein, nur
    > keiner ist das bisher so richtig gelungen (selbst C++ nicht)
    C++ ist schon allein deswegen mindestens so schnell wie C, weil man alles, was in C möglich ist, mit kleinen Änderungen auch in C++ machen kann. In der Praxis ist es oft schneller, weil Templates es dem Compiler erlauben, Algorithmen besser auf die tatsächlich verwendeten Typen zu optimieren. Das sieht man schon an einfachen Beispielen wie qsort vs. std::sort (letzteres ist vor allem für eingebaute Typen wie float oder int wesentlich schneller). Richtig krass wird es aber mit Bibliotheken wie Blitz++ oder Eigen, da gibt es in C nichts, was mit erträglichem Aufwand auch nur ansatzweise vergleichbare Performance liefert.

    Was bei solchen Diskussionen aber meist übersehen wird, ist dass die wichtigsten Faktoren für die Performance das Programmdesign und die verwendeten Algorithmen sind. Ein schönes Beispiel ist Mozillas Layout-Engine Servo. Die liefert Performance, von der andere Engines nur träumen können, weil sie als einzige in der Lage ist, mehrere Cores richtig auszunutzen. Um das umzusetzen, braucht man eine Sprache, die einen dabei unterstützt, deswegen ist Servo in Rust geschrieben. Und da spielt es auch keine Rolle mehr, dass C in irgendwelchen Microbenchmarks 10 oder 20% schneller ist, weil es nämlich einfach nicht möglich wäre, so ein Design in C in realistischer Zeit und hinreichend bugfrei umzusetzen.

  4. Re: Performance ist nicht so trivial, wie du denkst

    Autor: Slurpee 30.09.17 - 13:37

    +1

    Es gibt auch Fälle (ich behaupte, es sind die meisten), in denen Performance einfach völlig irrelevant ist, weil schneller als sofort nicht möglich ist und die Hardware auf der viele Sachen laufen, so oder so völlig gelangweilt ist.

    Was aber immer noch ein Problem ist, sind große, oft verteilte Systeme und große Domänen-Modelle, die sich oft ändern und dementsprechend mit Blick auf Wartbarkeit, Erweiterbarkeit und Testbarkeit designed werden müssen.

    Und in diesen Fällen nutze ich bestimmt kein C. Da hab ich völlig andere Probleme, als min max Speichermanagement und muss nicht den letzten Tropfen Performance rausholen.

    Das ist dann auch die Antwort an den OP: Es gibt so viele Programmiersprachen, weil es so viele verschiedene Aufgaben gibt und Profis gerne das richtige Werkzeug benutzen möchten.



    1 mal bearbeitet, zuletzt am 30.09.17 14:05 durch sfe (Golem.de).

  5. Re: Warum ist Java so erfolgreich? :)

    Autor: jayjay 01.10.17 - 13:11

    Akaruso schrieb:
    --------------------------------------------------------------------------------
    > Beim Lesen dieses Kommentars fällt kommt mir in den Sinn, dass vielleicht
    > deswegen C/C++ ein Vorteil haben, da es sich hier um ein internationalen
    > Standard handelt. während Java von Oracle abhängt und daher nicht ganz so
    > offen.
    >
    > Ich programmiere übrigens am liebsten in C++, gerade wegen den Pointern!
    > Wenn man C++ mal richtig beherrscht kommt man sich bei anderen Sprachen
    > immer irgendwie eingeschränkt vor.

    Nur gelten die Pointer in der aktuellen C++17 Fassung als veraltet und man sollte stattdessen die Template Klasse unique_ptr benutzen. Naja ich machs noch net so regelmäßig. Bins auch noch gewohnt mit den guten alten raw Pointern zu arbeiten.

  6. Re: Warum ist Java so erfolgreich? :)

    Autor: Hello_World 01.10.17 - 22:38

    jayjay schrieb:
    --------------------------------------------------------------------------------
    > Nur gelten die Pointer in der aktuellen C++17 Fassung als veraltet und man
    > sollte stattdessen die Template Klasse unique_ptr benutzen.
    Wie kommst Du denn auf dieses schiefe Brett? Pointer sind so tief in C++ verwurzelt, dass man sie wohl niemals deprecaten wird, das wäre dann einfach kein C++ mehr. Und unique_ptr ist zwar toll für Heap-allokierte Objekte, auf die nur eine Referenz existieren soll (daher "unique"), aber halt auch _nur_ dafür.

  7. Re: Warum ist Java so erfolgreich? :)

    Autor: BLi8819 03.10.17 - 17:31

    > Fürs Web macht PHP Sinn,. weil da C und Java keinen Sinn machen.

    Diese Argumentation ist sehr tiefgründig.

  8. Re: Warum ist Java so erfolgreich? :)

    Autor: theonlyone 09.10.17 - 13:28

    Die größte Performance Schrauben von weniger komplexen Sprachen kommt bei Chips zu tragen die eben zu klein sind für große Pakete.

    Wer mehrere Kerne hat und viel Parallel rechnen kann, der wird dafür eben nicht in C schreiben, macht auch keinen Sinn.

    Am Ende ist es eben einfach relevant auf welchem Ziel System die Software laufen soll und was man alles tricksen kann um die Performance hoch zu treiben.

    Hat man viele Kerne, kann man mehr parallel machen, hat man viel Speicher kann man viel mehr im Cache lassen, hat man sehr performante Datenbanken kann man einige Berechnungen auch dort machen.
    Umso allgemeiner der Code sein soll, unabhängig von der Hardware umso weniger optimiert ist er eben auch (das ist aber auch völlig ok so, solange man nicht wahnsinnig Performance kritische Anwendungen hat ist praktisch alles das für den Anwender keine sichtbare Verzögerung erzeugt völlig ausreichend schnell).

    ----

    Die Testbarkeit und der Bibliotheksumfang sind dann schon relevantere Punkte bei der Auswahl einer Sprache für den Einsatzszweck.

    Hilft einem ja nichts wenn man toll entwickeln kann, aber das Ergebnis nur schwer oder unzureichend testbar ist.
    Für manch eine Software mag es noch reichen wenn man sie startet und etwas herum klickt und wenn nichts abstürzt dann passt das schon.
    Andere haben viel mehr Abläufe und sobald Geld im Spiel ist und private Daten die zu schützen sind, muss man schon viel mehr Sicherheit in den Code haben.

    Am Ende des Tages gibt es gerade für Java einige "Erweiterungen" mit ihren ganz eigenen Extras und Features. Manch einer mag Groovy , andere hassen es Abgrund tief.
    So wird sich das mit Kotlin wohl auch halten.

  9. Re: Warum ist Java so erfolgreich? :)

    Autor: Proctrap 17.10.17 - 18:40

    Java. Hat. Pointer.

    du siehst sie nur nicht
    aber wehe du denkst "pass by value"

    ausgeloggt kein JS für golem = keine Seitenhüpfer

  10. Re: Warum ist Java so erfolgreich? :)

    Autor: Hello_World 19.10.17 - 15:53

    Proctrap schrieb:
    --------------------------------------------------------------------------------
    > Java. Hat. Pointer.
    >
    > du siehst sie nur nicht
    Ein Pointer kann auch auf einen anderen Pointer zeigen, während Referenzen in Java immer auf ein Objekt zeigen. Auch kann man mit Pointern Arithmetik betreiben, mit Referenzen aber nicht. Angesichts dieser fundamentalen Unterschiede halte ich es nicht für sinnvoll, Java-Referenzen als Pointer zu bezeichnen.

  11. Re: Warum ist Java so erfolgreich? :)

    Autor: Proctrap 19.10.17 - 20:13

    Das stimmt. Was ich meine sind die Pass-By-Reference Probleme in Java.
    Genauso wie die mehrere Variablen auf das Selbe objekt etc.
    Gerade bei Returns kann einem das böse auf die Füße fallen.

    ausgeloggt kein JS für golem = keine Seitenhüpfer

  12. Re: Warum ist Java so erfolgreich? :)

    Autor: tha_specializt 27.10.17 - 13:25

    Soso ... C ist also neuerdings wieder performanter wenns um "web" geht. Faszinierend, was man hier so alles für Fantasien liest

  13. Re: Warum ist Java so erfolgreich? :)

    Autor: caldeum 28.10.17 - 16:23

    Friedhelm schrieb:
    --------------------------------------------------------------------------------
    > Weil es C nur einfacher ist (ohne Pointer).
    Wie bist du denn darauf gekommen? Diese Aussage ist kompletter Schwachsinn. Aber um deine Frage (im Titel) zu beantworten:
    - Sehr geringe Einstiegsschwelle: kaum Vorwissen erforderlich. Jeder der logisch denken kann findet sich schnell gut zurecht.
    - Zeitlich sehr schnell Ergebnisse lieferbar
    - Mit JRE plattformunabhängig
    - Leicht wartbar (zummindest wenn man den Geradeausweg nimmt und keine Sonderlocken in der Speicherverwaltung will oder den Garbage-Collector im Zaum halten muss)

    Mit anderen Worten: die Kluft zwischen C und Java könnte kaum größer sein als sie es ist - und das ist auch gut so, deshalb braucht man beide Sprachen.

    Dennoch bin ich der Meinung das Sprachen mit einer noch geringeren Einstiegsschwelle als Java sie bietet, schädlich sind. Wenn ich mir angucke was so an Java-Software an mir vorbei kam ... das gelbe vom Ei was das alles nicht, weder stilistisch noch funktionell.

  14. Re: Warum ist Java so erfolgreich? :)

    Autor: Proctrap 29.10.17 - 11:25

    immer diese Threadschändung

    ausgeloggt kein JS für golem = keine Seitenhüpfer

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


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

Stellenmarkt
  1. Hays AG, Berlin
  2. Nord-Micro GmbH & Co. OHG a part of Collins Aerospace, Frankfurt am Main
  3. ZIEHL-ABEGG SE, Künzelsau
  4. Schoeller Technocell GmbH & Co. KG, Osnabrück

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. HP Pavilion 32 Zoll Monitor für 229,00€, Steelseries Arctis Pro wireless Headset für 279...
  2. ab 62,99€
  3. (aktuell u. a. HyperX Alloy Elite RGB Tastatur für 109,90€, Netgear EX7700 Nighthawk X6 Repeater)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Autonomes Fahren: Wenn der Wagen das Volk nicht versteht
Autonomes Fahren
Wenn der Wagen das Volk nicht versteht

VW testet in Hamburg das vollautonome Fahren in der Stadt - und das recht erfolgreich, wie eine Probefahrt zeigt. Als größtes Problem erweist sich ausgerechnet die Höflichkeit der Fußgänger.
Ein Bericht von Werner Pluta

  1. Volkswagen ID. Space Vizzion als Elektrokombi vorgestellt
  2. Elektroauto von VW Es hat sich bald ausgegolft
  3. ID.3 kommt Volkswagen verkauft den E-Golf zum Schnäppchenpreis

Videospiellokalisierung: Lost in Translation
Videospiellokalisierung
Lost in Translation

Damit Videospiele in möglichst viele Länder verkauft werden können, müssen sie übersetzt beziehungsweise lokalisiert werden. Ein kniffliger Job, denn die Textdatei eines Games hat oft auf den ersten Blick keine logische Struktur - dafür aber Hunderte Seiten.
Von Nadine Emmerich

  1. Spielebranche Entwickler können bis 2023 mit Millionenförderung rechnen
  2. Planet Zoo im Test Tierische Tüftelei
  3. Förderung Spielentwickler sollen 2020 nur einen "Ausgaberest" bekommen

Surface Laptop 3 (15 Zoll) im Test: Das 15-Zoll-Macbook mit Windows 10 und Ryzen
Surface Laptop 3 (15 Zoll) im Test
Das 15-Zoll-Macbook mit Windows 10 und Ryzen

Was passiert, wenn ein 13-Zoll-Notebook ein 15-Zoll-Panel erhält? Es entsteht der Surface Laptop 3. Er ist leicht, sehr gut verarbeitet und hat eine exzellente Tastatur. Das bereitet aber nur Freude, wenn wir die wenigen Anschlüsse und den recht kleinen Akku verkraften können.
Ein Test von Oliver Nickel

  1. Surface Laptop 3 mit 15 Zoll Microsoft könnte achtkernigen Ryzen verbauen

  1. Scheuer: Steuergelder sollen 5.000 weiße Flecken schließen
    Scheuer
    Steuergelder sollen 5.000 weiße Flecken schließen

    Die Bundesregierung will den Mobilfunkausbau vereinfachen und 1,1 Milliarden Euro für die Schließung weißer Flecken ausgeben. Doch bis wann die Mobilfunkstrategie umgesetzt sein soll, ist völlig unklar.

  2. E-Privacy-Verordnung: Medien sollen Tracking-Erlaubnis bekommen
    E-Privacy-Verordnung
    Medien sollen Tracking-Erlaubnis bekommen

    In die jahrelangen Verhandlungen zur E-Privacy-Verordnung kommt Bewegung. Die EU-Mitgliedstaaten könnten sich auf eine pauschale Tracking-Erlaubnis für Medien und Drittanbieter einigen.

  3. Chemiekonzern: BASF kauft 3D-Druck-Dienstleister Sculpteo
    Chemiekonzern
    BASF kauft 3D-Druck-Dienstleister Sculpteo

    3D-Druck on Demand ist für den größten Chemiekonzern BASF so interessant, dass er den 3D-Druck-Anbieter Sculpteo übernimmt. Das Unternehmen möchte Sculpteo als ein Schaufenster für seine Materialien nutzen, erklärte der Gründer.


  1. 18:59

  2. 18:41

  3. 18:29

  4. 18:00

  5. 17:52

  6. 17:38

  7. 17:29

  8. 16:55