Es gibt Futter für den Krieg der Sprachen



  • Artchi schrieb:

    Aber mir ging es ums Prinzip. Einerseits wird gesagt "Java läuft überall", aber eigentlich ist es gelogen, weil es einfach nur auf den Mainstream-Plattformen verfügbar ist. Was absolut nicht "überall" entspricht. Aber C++ gibt es nun mal überall.

    Könnte sich ändern. Oracle hat OpenJDK als Referenzimplementierung, die unter GPL steht, erklärt. Aber stimmt die Platformen sind auch interessent von der Perspektive eines Lib-Entwickler.



  • Artchi schrieb:

    Aber mir ging es ums Prinzip. Einerseits wird gesagt "Java läuft überall", aber eigentlich ist es gelogen, weil es einfach nur auf den Mainstream-Plattformen verfügbar ist. Was absolut nicht "überall" entspricht. Aber C++ gibt es nun mal überall.

    C++ lauft auch nur da wo es einen Compiler dazu gibt und das ist auch nicht überall. 🙄



  • Naja also die Plattformen wos keinen C-Compiler gibt kann man fast an der Hand abzählen^^
    C++ ist allerdings weniger portabel (weil C++ einfach komplexer ist). Java ist noch weniger verbreitet, auf den gängigen Plattformen findet mana ber alle 3.
    PS: Irgendwie wird in diesem Thread C == C++ gesetzt, kann das sein?



  • klar schrieb:

    C++ lauft auch nur da wo es einen Compiler dazu gibt und das ist auch nicht überall. 🙄

    Doch wie werden wohl heute die Platformen geschrieben doch wohl nicht mehr komplett in Assembler 😃

    linux_c89 schrieb:

    PS: Irgendwie wird in diesem Thread C == C++ gesetzt, kann das sein?

    Es geht hier um C++.
    Aber C kann man ja auch in C++ verwenden also ist das eigendlich kein problem was man von den beiden nimmt oder?



  • gamebuntu schrieb:

    Doch wie werden wohl heute die Platformen geschrieben doch wohl nicht mehr komplett in Assembler 😃

    Klar gibt's Controller für die es nur Assembler gibt.

    gamebuntu schrieb:

    Es geht hier um C++.
    Aber C kann man ja auch in C++ verwenden also ist das eigendlich kein problem was man von den beiden nimmt oder?

    Todesstrafe! Lyncht ihn!! 🤡



  • Sheldor schrieb:

    cooky451 schrieb:

    Sheldor schrieb:

    JDownloader

    Ach genau, deswegen ist das so langsam!

    Ja gibt leider nichts besseres im Moment.

    cryptload



  • Die const-correctness von C++ funktioniert auch nicht, ständig braucht man Workarounds, sogar in der STD-Lib.



  • Xandor82 schrieb:

    Die const-correctness von C++ funktioniert auch nicht, ständig braucht man Workarounds, sogar in der STD-Lib.

    Boing! (Kopf -> Bratpfanne)
    Obgleich positiv, dass wir offenbar viele Flamer aus diesem Forum vertrieben haben, tut es dann schon weh, sowas zu lesen.

    Ich mach mal Java-Bashing auf dem gleichem Niveau:
    Die Syntax is scheiße, ständig muss man das, was man will, umständlich ausdrücken. Dann dieser bekloppte GC, der immer dann aufräumt, wenn man es gerade nicht will. Das OOP funktioniert auch nicht, ständig braucht man Workarounds, sogar in den Standard-Packages. Und es ist zum Kotzen, dass es statt Mehrfachvererbung nur Interfaces gibt, damit ist ein Großteil der interessanten Design-Patterns unmöglich.
    Ach ja: und Java sucks!



  • cryptl schrieb:

    cryptload

    Ist genau so langsam. (Auch in Java geschrieben)
    JDownloader bietet viel mehr sachen wie z.B Videos von Youtube downloaden.
    Ausserdem finde ich es ein wenig übersichtlicher.



  • Zeus schrieb:

    Artchi schrieb:

    Aber mir ging es ums Prinzip. Einerseits wird gesagt "Java läuft überall", aber eigentlich ist es gelogen, weil es einfach nur auf den Mainstream-Plattformen verfügbar ist. Was absolut nicht "überall" entspricht. Aber C++ gibt es nun mal überall.

    Könnte sich ändern. Oracle hat OpenJDK als Referenzimplementierung, die unter GPL steht, erklärt. Aber stimmt die Platformen sind auch interessent von der Perspektive eines Lib-Entwickler.

    Es wird aber OpenJDK trotzdem nicht auf diesen Plattformen geben, weil Java am Ende doch zu uninteressant ist für deren Communities ist. Denn portieren müssen die Nischen-Plattform-Communities das OpenJDK selber. Die Communities dieser Nischen-Plattformen portieren deshalb natürlich (wie jede andere Community) nach Priorität und verfügbarer Manpower. Bekannte Sprachen die z.B. auf RISC OS supportet werden, sind C, C++ und Lua. Wir reden von maximal 1000 RISC OS Usern.

    AmigaOS und MorphOS hat eine größere Community, bei denen sieht die Entwicklung ähnlich aus, wobei sie dort ein paar Sprachen mehr haben. Bei denen gibt es auch Python. Java? Nö.

    Ich will damit nur sagen, das C und C++ eine ganz andere Priorität und Wichtigkeit genießen. Und das "Java überall" deshalb einfach nicht stimmt.



  • klar schrieb:

    C++ lauft auch nur da wo es einen Compiler dazu gibt und das ist auch nicht überall. 🙄

    Ja, das stimmt, nur ist die Verbreitung von C++ trotzdem um ein vielfaches höher als Java. Deshalb ist das Argument pro-Java bezogen auf die Verbreitung auf Plattformen schon mal anhand von Fakten falsch. Fakt ist: C++ gibt es auf viel mehr Plattformen als Java. Somit kann sich jeder Java-Fanboy das Argument sparen. Punkt!



  • Sheldor schrieb:

    cryptl schrieb:

    cryptload

    Ist genau so langsam. (Auch in Java geschrieben)
    JDownloader bietet viel mehr sachen wie z.B Videos von Youtube downloaden.
    Ausserdem finde ich es ein wenig übersichtlicher.

    ".net required" eher c#
    frag mich obs was ähnliches in c++ geschrieben gibt oder warum die sich wohl beide jeweils für java bzw. c# entschieden haben



  • Richtig!
    Aber 90% derer Plattformen sind nur für 0.001% aller User relevant.

    Linux trifft man im Enduserbereich nur mal hier und da an und das schon viel gegen über AmigaOS und Konsorten.
    RISC OS: ich wusste gar nicht, dass das noch weiter entwickelt wird.
    AmigaOS: Die Community besteht zum größten Teil aus Leuten, die den Niedergang der Amiga-Plattform nicht geistig verkraften konnte und noch im Jahre 2011 ihre >20 Jahre alte Plattform lobt.



  • crypl schrieb:

    frag mich obs was ähnliches in c++ geschrieben gibt oder warum die sich wohl beide jeweils für java bzw. c# entschieden haben

    Gott ich bete für ein simples Programm in C/C++ 😃



  • Artchi schrieb:

    ...

    Was soll das? Das könntest du dir sparen.



  • Ah, ich hab mich schon gefragt wie lang es dauert bis das Paper in die Populärpresse gelangt und damit auch ins Forum 🤡

    Ansonsten finde ich das Ergebnis jetzt nicht so dramatisch (hat einer von euch eigentlich das Paper gelesen oder wenigstens bis zu den "interessanten" Tabellen gescrollt?)
    Einen Unterschied zwischen 3,7x bis 5,8x finde ich jetzt nicht so dramatisch, vor allem wenn man betrachtet dass die C++ Version mit Debug Informationen auch noch langsamer als die Java Varianten (bis auf die "normale" 32bit Version) ist.
    Dass die Scala Variante auch noch schneller als Java läuft (2,5x - 3,6x) wundert mich, da beide anscheinend auf der selben JVM laufen.
    Interessant, dass der Go Code am langsamsten von allen läuft, obwohl er auch nativ compiliert wird, und nicht in einer VM ausgeführt wird ...



  • javaking schrieb:

    Linux trifft man im Enduserbereich nur mal hier und da an und das schon viel gegen über AmigaOS und Konsorten.

    Ich streite nicht ab, das RISC OS, AmigaOS usw. einen ganz minimalen Anteil ausmachen. Und ich rege mich nicht darüber auf, das es Java darauf nicht gibt. Man sollte aber immer aufpassen, das man keine Behauptungen aufstellt.

    javaking schrieb:

    RISC OS: ich wusste gar nicht, dass das noch weiter entwickelt wird.

    Ja doch, es gibt eine Closed Source Variante, von RISCOS Ltd., die für kompatible Acorn-Hardware gepflegt wird, z.B. A9home. Und es gibt eine Shared Source Variante (ein Fork) von RISCOSOpen die regelmäßiger mit Updates und tief greifenden Weiterentwicklungen für neue Hardware beglückt wird. Es läuft tatsächlich auf 1 GHz ARMs mit 3D-Chip. 👍

    javaking schrieb:

    AmigaOS: Die Community besteht zum größten Teil aus Leuten, die den Niedergang der Amiga-Plattform nicht geistig verkraften konnte und noch im Jahre 2011 ihre >20 Jahre alte Plattform lobt.

    Nö, die Plattform (besonders MorphOS) ist eine aktuelle Entwicklung, die ganz normal auf PowerPCs und auch auf 3D-ATI-Grafikkarten läuft. Selbst die aktuelle Webkit-Engine läuft auf AmigaOS- und MorphOS-Browsern, so das man der Web-Nutzung in nichts nachsteht.

    Ich wüsste nicht, was das mit ewig gestrigen zu tun hat? Die Plattformen sind nur nicht so weit verbreitet. Man kann der Amiga-Community höchstens vorhalten, das sie auf zu teure PowerPC-Hardware setzen.



  • BierzeltOmi schrieb:

    (hat einer von euch eigentlich das Paper gelesen oder wenigstens bis zu den "interessanten" Tabellen gescrollt?)

    Ja!

    3,7x bis 5,8x finde ich jetzt nicht so dramatisch

    Ich schon!

    vor allem wenn man betrachtet dass die C++ Version mit Debug Informationen auch noch langsamer als ..

    Wer interessiert sich denn fuer die Geschwindigkeit von Debug-Versionen?

    Go Code am langsamsten von allen läuft, obwohl er auch nativ compiliert wird

    Liegt wohl am Compiler.



  • BierzeltOmi schrieb:

    Dass die Scala Variante auch noch schneller als Java läuft (2,5x - 3,6x) wundert mich, da beide anscheinend auf der selben JVM laufen.

    Der Scala Compiler optimiert, der Java Compiler nicht. Deshalb produziert Scala optimierteren Byte Code als der Java Compiler. Beide werden dann von der VM optimiert, aber da hat Scala zu dem Zeitpunkt ja schon ein Eck die Nase vorne.

    Interessant, dass der Go Code am langsamsten von allen läuft, obwohl er auch nativ compiliert wird, und nicht in einer VM ausgeführt wird ...

    Go steckt in den Kinderschuhen. Die Optimierungen des Compilers sind sehr schwach.

    Viel mehr als die Sprachen sind nämlich die Toolkits für die Performance verantwortlich. Sowohl Ausführgeschwindigkeit als auch Wartung als auch Entwicklungsgeschwindigkeit - alles wird primär von den vorhandenen Toolkits bestimmt.



  • ipsec schrieb:

    Xandor82 schrieb:

    Die const-correctness von C++ funktioniert auch nicht, ständig braucht man Workarounds, sogar in der STD-Lib.

    Boing! (Kopf -> Bratpfanne)
    Obgleich positiv, dass wir offenbar viele Flamer aus diesem Forum vertrieben haben, tut es dann schon weh, sowas zu lesen.

    Findes du const_iterator und solche Verkrampfungen toll?

    Ich mach mal Java-Bashing auf dem gleichem Niveau:
    Die Syntax is scheiße, ständig muss man das, was man will, umständlich ausdrücken.

    Die Syntax ist der von C++ verdammt ähnlich.

    Dann dieser bekloppte GC, der immer dann aufräumt, wenn man es gerade nicht will. Das OOP funktioniert auch nicht, ständig braucht man Workarounds, sogar in den Standard-Packages.

    Interessiert mich eigentlich sowieso nicht, weil ich schon seit Jahren nicht mehr mit Java arbeite.

    Und es ist zum Kotzen, dass es statt Mehrfachvererbung nur Interfaces gibt, damit ist ein Großteil der interessanten Design-Patterns unmöglich.

    Echt? Du kennst sogar mehrere Design-Patterns die Mehrfachvererbung verwenden. Zähl mal auf.


Anmelden zum Antworten