Warum ist Java so schrecklich lahm und unflexibel? (Bitte sachliche Beiträge)
-
wie könnt ihr noobs auf son offensichtliches troll posting überhaupt ernsthaft antworten? LOL
-
bahs0rizeherpwnedwtflolkk schrieb:
wie könnt ihr noobs auf son offensichtliches troll posting überhaupt ernsthaft antworten? LOL
Weil ich nix besseres zutun hab und die Datenbank vollmülln will
-
ist kien trol poschd
-
Roar schrieb:
der geschwindigkeitsunterschied zwischen c++ und java liegt bei ca. 1:1.2, abhängig vom compiler, hopspot, system und am meisten am programmierer.
nee. am meisten abhängig vom problem. kryptographie in java hat faktor 100, während einfache array-sachen gleich schnell sind.
-
SideWinder schrieb:
Java wär viel besser zu vergleichen mit C#, hast recht. Nur der volkard bringt immer sein C++ ins Rennen :p:)
mit c# braucht man nicht zu vergleichen. da kann man allenfalls irrelevante mikro-unterschiede zu java suchen.
klar vergleicht man äpfel und birnen. was tust du lieber essen, äpfel oder birnen? warum sind birnen so furchbar süß? warum ist apfelwein üblicher als birnenwein? fragen über fragen.
aber wenn einer äpfel mit äpfeln vergleicht, ist das dann interessant?
-
SideWinder schrieb:
[...] zB für 3D-Grafik einzusetzen (Java3D), da ist es aber auf jeden Fall performanter C++ einzusetzen.
[...]
MfG SideWinder
Oder C#
Aber ok, hier soll nicht mit C# verglichen werden...bin schon weg...
-
Nochmal zu:
wenn du mal ein wochenende zeit hast, kannste da nicht schnell die java-lib nach c++ übersetzen?
Einige Teile wären wie gesagt tatsächlich mal brauchbar...
MfG SideWinder
-
An einem Wochenende? Niemals. Aber die Bibliothek würde sich 1 : 1 ohne inner classes, ohne anomyme Klassen und ohne Interfaces sowieso nicht gut anfühlen, weder zum implementieren, noch zum benutzen.
-
Natürlich müsste man umdesignen, mir gehts weniger um die 1:1-Benützung als viel mehr um manche Features (Sockets...). Und da bin ich ja nicht der einzige der das erkannt hat, auch Boost bastelt derzeit an einer Socket-Library (Aja, und volkard natürlich auch in seiner vhlib).
MfG SideWinder
-
Ich will meinen Senf auch mal dazu geben:
Java muss natürlich langsamer sein als C oder C++, da es doch über die jvm geht... Streng genommen gekommst du doch mit Java nur einen interpretierbaren Code ähnlich wie bei einer Scriptsprache, die die jvm jetzt parsen muss. Und das muss zwangsläufig langsamer sein als code, der direkt vom OS ausgeführt werden kann, das ist Punkt1.
Allerdings bietet Sun da auch Abhilfe: Das ganze nennt sich "HotPlug" und bedeutet, dass Codeteile, die die jvm sehr oft ausführt, erkennt und direkt als Programmcode übersetzt. So laufen teile von Javaprogrammen, die oft ausgeführt werden ( etwa getter und setter von Objekten ) sehr viel schneller. Ich habe gehört das ein solcher code die selbe Performance bietet wie in C++.
Auf der anderen Seite ist Java doch in C++ geschrieben ( habe ich auf jedenfall gelesen ) und es wäre echt merkwürdig, wäre ein Javaprogramm schneller als ein C++ Programm
-
wäre ein Javaprogramm schneller als ein C++ Programm
kann Java nicht schneller als C++ sein? - z.B. mein C++ Compiler übersetz für den größten gemeinsamen Nenner aller CPUs - d. h. kein Support für SSE2, da jemand versuchen könnte mein Programm auf nen Pentium II laufen zu lassen - die virtuelle Maschine erkennt aber, das ich SSE2 hab und optimiert den Code gleich dafür und läuft dadurch doppelt so schnell, weil es in einem char Array 16 Werte parallel bearbeiten kann... usw.
ich hab festgestellt das meine C# Programme genauso schnell wie meine C++ und diese wiederum genauso schnell wie meine Java Programme sind
ich würde die Wahl zwischen C++, C# und Java nicht davon abhängig machen das ich irgendwo gehört habe das C++ schneller wie C# oder Java ist - C++ ist eine schlanke Programmiersprache - Java bringt ein riesige gute Bibliothek - da muss man selber entscheiden was man will, das kann man schlecht pauschal sagen
-
@Vertex: Das kannst so nicht sagen, ich kann meinem C++-Compiler sagen, dass er zB für Pentium optimieren soll. Der erkennt das dann halt eben schon zur Compile-Time.
MfG SideWinder
-
Vielleicht ist die VM in Java geschrieben und halt in Nativen Code übersetzt worden
-
fluxy schrieb:
Ich will meinen Senf auch mal dazu geben:
Java muss natürlich langsamer sein als C oder C++, da es doch über die jvm geht... Streng genommen gekommst du doch mit Java nur einen interpretierbaren Code ähnlich wie bei einer Scriptsprache, die die jvm jetzt parsen muss. Und das muss zwangsläufig langsamer sein als code, der direkt vom OS ausgeführt werden kann, das ist Punkt1.
Allerdings bietet Sun da auch Abhilfe: Das ganze nennt sich "HotPlug" und bedeutet, dass Codeteile, die die jvm sehr oft ausführt, erkennt und direkt als Programmcode übersetzt. So laufen teile von Javaprogrammen, die oft ausgeführt werden ( etwa getter und setter von Objekten ) sehr viel schneller. Ich habe gehört das ein solcher code die selbe Performance bietet wie in C++.
Auf der anderen Seite ist Java doch in C++ geschrieben ( habe ich auf jedenfall gelesen ) und es wäre echt merkwürdig, wäre ein Javaprogramm schneller als ein C++ Programm
Du irrst dich, es gibt keinen prinzipiellen Grund, warum Java langsamer sein muss als C++. Es ist nur eine Frage, wie gut der JIT-Compiler ist und der kann zur Zeit wohl noch nicht mit gängigen C++ - Compilern mithalten. Das Ding was du meinst, nennt sich btw. nicht "Hotplug", sondern Hotspot-Optimierung.
-
Vertexwahn schrieb:
Vielleicht ist die VM in Java geschrieben und halt in Nativen Code übersetzt worden
Ich habe den Source vorliegen und er sieht mir nach hässlichem C++ aus.
-
Optimizer schrieb:
Vertexwahn schrieb:
Vielleicht ist die VM in Java geschrieben und halt in Nativen Code übersetzt worden
Ich habe den Source vorliegen und er sieht mir nach hässlichem C++ aus.
Also doch in Java? :D:p
Flame, nicht ernst nehmen
MfG SideWinder
-
Hm, mich errinnnert schlechter Javacode ehr an C++
Ist echt so.
-
Optimizer schrieb:
Vertexwahn schrieb:
Vielleicht ist die VM in Java geschrieben und halt in Nativen Code übersetzt worden
Ich habe den Source vorliegen und er sieht mir nach hässlichem C++ aus.
Wo hast du den denn her?
-
Den kannste bei Sun ziehen.
-
echt? das war doch immer closed source!!1
ok werde mich mal auf die begeben aber ich glaube nicht das es finde.