Java ist schneller als C++!



  • Blödsinn Aussagen gibt es nicht.
    es gibt nur wahre oder falsche Aussagen.



  • neoexpert schrieb:

    Blödsinn Aussagen gibt es nicht.
    es gibt nur wahre oder falsche Aussagen.

    ich denke auch manchmal gern ein bisschen grau 🙂



  • Nur so als Anregung: für wirklich zeitkritische Sachen gibt es extra Hardware die das erledigt.
    Scheinbar gibt es also schon einen Unterschied, ob etwas fest verdrahtet ist, oder ob man eine generische programmierbare Hardware benutzt.

    Was ist, wenn ich einen PHP Compiler schreibe der dir eine ausführbare Datei erzeugt, oder noch besser ich speichere das Maschienencode-Compilat des PHP JITers ab (ggf. noch paar Sachen ergänzen damit es auch ausführbar ist).
    Dann wird das Programm plötzlich nicht mehr interpretiert vor der Ausführung.

    Oder ich starte dein C-Programm einfach mit einem C-Interpreter...

    ...und so weiter und so fort.



  • Jaja, allgemein ist das aber so, dass C programme immer erst compiliert werden.



  • Eine Sprache ist vielleicht nicht schneller oder langsamer als eine andere, aber in der Praxis ist die Wahl der Sprache doch wichtig, wenn Ressourcen sparen angesagt ist.

    Schreib doch mal ein Programm in Python und versuche das auf einem Low-End Mikrocontroller (zB in einer einfachen digitalen Küchenuhr) zum Laufen zu bringen. Geht nicht so gut? Nein, weil Interpreter und Programm viel zu viele Ressourcen verbrauchen -> ist langsamer. Warum wird für sowas also C eingesetzt? Weil man damit sehr sparsam programmieren kann.

    Wer hatte nochmal die schöne Signatur mit der Theorie und Praxis? 😃
    Eine Sprache A ist nicht schneller als eine Sprache B, aber wenn ich in beiden Sprachen 100 Programme schreibe und allesamt werden vom jeweils "besten" Compiler bei A in effizienterem Maschinencode verwandelt, kann man doch durchaus behaupten, daß A schneller ist, oder?



  • neoexpert schrieb:

    Jaja, allgemein ist das aber so, dass C programme immer erst compiliert werden.

    Nein, das ist falsch, bzw. du weißt es nicht besser. "allgemein" bzw. "im Allgemeinen" benutzt man, wenn man keinerlei Einschränkungen macht.
    Und im Allgemeinen wird ein C Programm eben nicht kompiliert.

    Nagila Hawa, du wirfst da schon wieder vieles durcheinander, offensichtlich vergleichst du hier zwei verschiedene Compiler und nicht die Sprachen auf ihre Unterschiede was die Geschwindigkeit angeht.
    Man benutzt C übrigens in diesen Fällen, weil man für C sehr leicht einen Compiler schreiben kann zum einen und der Hauptgrund: die Leute in dem Umfeld haben C einfach zum Standard gemacht.
    Wenn ich eine rekursive Datenstruktur, wie einen Baum, speichern will dann denk ich auch sofort an XML und komme nicht auf die Idee es als CVS zu speichern, nicht weil es nicht gehen würde, sondern weil XML der Standard ist. Es dementsprechend genügend Know-How gibt auf das ich zugreifen kann, etc.

    Was C übrigens so angenehm für die Microcontroller macht ist die Einfachheit, weil der Programmierer alles machen muss. Und dann sind wir schon wieder bei dem oben gesagten: ein Compiler lässt sich sehr leicht entwerfen für C.

    P.S. Bitte beachtet das leicht in Verbindung mit einem Compiler als "relativ leicht", also im Vergleich zu Compilern für andere Sprachen, wie C++.



  • Falsch schrieb:

    Und im Allgemeinen wird ein C Programm eben nicht kompiliert.

    Was wird denn sonst mit den C programmen bitte gemacht? In den meisten fällen wird ein C-Programm compiliert.



  • Falsch schrieb:

    Nagila Hawa, du wirfst da schon wieder vieles durcheinander, offensichtlich vergleichst du hier zwei verschiedene Compiler und nicht die Sprachen auf ihre Unterschiede was die Geschwindigkeit angeht.
    Man benutzt C übrigens in diesen Fällen, weil man für C sehr leicht einen Compiler schreiben kann zum einen und der Hauptgrund: die Leute in dem Umfeld haben C einfach zum Standard gemacht.
    Wenn ich eine rekursive Datenstruktur, wie einen Baum, speichern will dann denk ich auch sofort an XML und komme nicht auf die Idee es als CVS zu speichern, nicht weil es nicht gehen würde, sondern weil XML der Standard ist. Es dementsprechend genügend Know-How gibt auf das ich zugreifen kann, etc.

    Was C übrigens so angenehm für die Microcontroller macht ist die Einfachheit, weil der Programmierer alles machen muss. Und dann sind wir schon wieder bei dem oben gesagten: ein Compiler lässt sich sehr leicht entwerfen für C.

    Natürlich vergleiche ich verschiedene Compiler... Ein C Compiler kann ich nicht für Pascal-Programme verwenden, also benutze ich bei beiden Sprachen unterschiedliche Compiler. Wenn ein bestimmter Compiler den Ruf hat für das Zielsystem den schnellsten Code zu produzieren, dann nutze ich, wenn ich das schnellste Programm haben will, genau diesen Compiler (natürlich nur theoretisch...). Und da der Compiler nunmal nur xyz übersetzt und eben nicht C, Java, Pascal oder Brainfuck, werde ich auch die Sprache xyz benutzen müssen -> für das schnellstmögliche Programm nutze ich also die Sprache xyz.

    C ist für den Compiler relativ einfach gehalten, daher ist es auch für den Compilerbauer einfacher den Compiler zu optimieren. Ich gehe übrigens mal davon aus, daß es nie eine effizientere Implementation für Python geben wird, als für C.

    Theorie: Sprache A ist nicht schneller oder langsamer als Sprache B -> Sprache ist egal.
    Praxis: Der Compiler für Sprache A produziert effizienteren Code als der für Sprache B -> Sprache ist nicht egal.

    Insofern vergleiche ich zwar die Compiler und nicht die Sprachen, aber der verwendete Compiler bestimmt ja auch die zu verwendende Sprache.



  • Nagila Hawa schrieb:

    Eine Sprache ist vielleicht nicht schneller oder langsamer als eine andere, aber in der Praxis ist die Wahl der Sprache doch wichtig, wenn Ressourcen sparen angesagt ist.

    es liegt nicht primär an der sprache, sondern an dem ganzen beiwerk, was dafür sorgt, dass deine progrämmchen lahm oder schnell sind. manche sprachen brauchen nunmalerweise interpreter oder virtuelle maschinen, aber niemand verbietet einem, einen compiler für diese sprachen zu entwickeln, der extrem optimierten maschinencode erzeugt. es gibt natürlich sprachen, die geradezu dazu verführen, unnötig kompliziertes und potenziell langsames zeug zu coden. aber die sprache selbst kann nichts dafür, wenn benutzer unbedacht damit umgehen.
    🙂



  • neoexpert schrieb:

    Blödsinn Aussagen gibt es nicht.
    es gibt nur wahre oder falsche Aussagen.

    Nachts ist es kälter als drausen.
    wahr oder falsch?
    Ein Satz der auf deutsch ausgesprochen wird, kann nie langsamer sein als Deutschland.
    wahr oder falsch?
    Programme die mit einer Programmiersprache geschriebn sind, mit der man hardwarenah programmieren kann, können nie langsammer sein als Hardware.
    wahr oder falsch?
    Alles Blödsinn.

    Es gibt sogar sinnvolle Aussagen die man nicht mit wahr oder falsch beantworten kann.
    http://de.wikipedia.org/wiki/Halteproblem



  • Ich glaub nicht, dass Nagila Hawa weisst, dass er falscht schliesst.



  • konzepte, paradigmen...bla
    redet ja auch jeder wie ihm der mund gewachsen is, und wenns zu bunt gemischt wird reden eh alle mit händen und füssen (~C 😕 )

    runtime, compiletime...denkt einfach mal an die development time

    die verfügbarkeit von frameworks ist inzwischen wesentlich wichtiger als die verfügbarkeit von sprachfeatures

    ...

    deshalb, ja, java ist besser 👍



  • myMeinung schrieb:

    konzepte, paradigmen...bla
    redet ja auch jeder wie ihm der mund gewachsen is, und wenns zu bunt gemischt wird reden eh alle mit händen und füssen (~C 😕 )

    runtime, compiletime...denkt einfach mal an die development time

    die verfügbarkeit von frameworks ist inzwischen wesentlich wichtiger als die verfügbarkeit von sprachfeatures

    ...

    deshalb, ja, java ist besser 👍

    Und deshalb gibt es auch fast keine Java-Desktopanwendungen, sondern nur so ein paar Entwicklertools wie Eclipse. 🙄
    ➡ Alles vom Einsatzgebiet abhängig.



  • alles relativ schrieb:

    sondern nur so ein paar Entwicklertools wie Eclipse

    lol
    schön dass du grade die ansprichst...wenn du eclipse "nur" als entwicklertools siehst, wundert mich gar nichts..
    http://www.eclipse.org/community/rcp.php -> und dann lies mal die case studies

    http://www.bioclipse.net/ --> hab ich selbst schon in produktiven prozessen angewendet

    ➡ Alles vom Einsatzgebiet abhängig.

    jo, aber einsatzgebiet von software is halt nich nur office und games.. 🙄

    wenn du speziell zugeschnittene applikationen leifern musst, dann bist du froh um jedes bite dass du nicht selber implementieren musst. reusability is nich der einzige grund für modularisierung, aber doch einer der schwereren oder?

    ..nur meine meinung..



  • bevor jetzt der nächste troll-spruch kommt: "blubb alles opensource gefrickel bla"
    http://www.appliedbiosystems.com/sequencescanner
    die hab ich sogar gekauft mit nem verd* tollen sequencing gerät von ab..

    mal abgesehn davon, dass ibm ihre internas als opensource goodwill projekte vercheckt, is die eclipse platform eine der elegantesten lösungen für vieles, die ich bislang gesehn hab. da kommt visual studio in 100 jahren nicht ran. allein die entwicklertools (C/C++/Python/Ruby/xml/js/sql/ftp/wtf! ach ja..ich vergass...java^^, und was es nich gibt, baust du in no-time selbst) überzeugen selbst nicht javaneser. die ide is sowieso spitze, aber darüber reden wir jetzt nich.. service orientierte laufzeitumgebungen für den desktop is wohl die erfindung des jahrzehnts..bis die leitungen nachwachsen..dann wird wieder alles auf dem server sein..wie früher auch schon. oder wir füllen unsere wohnzimmer mit cpu clustern, denke aber eher nich..

    ps: erstkontakt mit kybernetik: fortran@rechenzentrum tübingen 1968
    die lochkarten habsch nich mehr, aber die printouts füllen nen ordner im keller:)



  • da hats schreiberechtsfehler drin, bitte ignorieren oder behalten 🙂
    morgen reg ich mich an..



  • myMeinung schrieb:

    alles relativ schrieb:

    sondern nur so ein paar Entwicklertools wie Eclipse

    lol
    schön dass du grade die ansprichst...wenn du eclipse "nur" als entwicklertools siehst, wundert mich gar nichts..
    http://www.eclipse.org/community/rcp.php -> und dann lies mal die case studies

    http://www.bioclipse.net/ --> hab ich selbst schon in produktiven prozessen angewendet

    Das "nur" bezog sich auf die Anzahl. Und ich weiß schon sein Jahren, dass man auf Eclipsebasis andere Desktopanwendugnen entwickeln kann, habs sogar schon gemacht. Aber es gibt halt keine Javadesktopanwendung die viele millionen User verwenden, aber C++ Anwendugnen gibts davon sehr viele.

    ➡ Alles vom Einsatzgebiet abhängig.

    jo, aber einsatzgebiet von software is halt nich nur office und games.. 🙄

    Hat auch keiner Behauptet, außer du, damit du ein "Gegenargument" oder mindestens was dummes hast, was du dagegen sagen kannst. Das falsch verstehen liegt dir anscheinend.



  • alles relativ schrieb:

    ..Aber es gibt halt keine Javadesktopanwendung die viele millionen User verwenden, aber C++ Anwendugnen gibts davon sehr viele..

    ➡ Alles vom Einsatzgebiet abhängig.

    💡 ➡ 😕 😮 🙄 😃

    troll 👎



  • Sag das doch gleich, dass du hier nur rum trollst.



  • alles relativ schrieb:

    Aber es gibt halt keine Javadesktopanwendung die viele millionen User verwenden

    Hmmm... http://azureus.sourceforge.net/


Anmelden zum Antworten