Seite 1 von 4 1234 LetzteLetzte
Ergebnis 1 bis 20 von 66

Thema: Schnellste Programmiersprache

  1. #1

    Schnellste Programmiersprache

    Was ist die schnellste Programmiersprache (für Windows Programme, kein 3D)?

  2. #2
    Schnell in welcher hinsicht?

    - Schnell im allgemeinen erstellen einer Anwendung
    - Schnell beim Compilieren von Code
    - Schnellichkeit bei der ausführung des Programmes

    ?

  3. #3
    Zitat Zitat
    Schnellichkeit bei der ausführung des Programmes
    Jo,
    das meine ich.

  4. #4
    Assembly müsste aufgrund seiner systemnaheit sehr schnell sein, c++ aber auch recht gut. VB beispielsweise ist in der Hinsicht relativ langsam, aufgrund der erst nachträglichen interpretierung.

  5. #5
    Was ist Assembly?

    Ich habe im Wikipedia gesucht, aber nichts gefunden.

  6. #6
    Assembly ist die letzte Sprache vor der Maschienensprache. Also ziemlich, ziemlich Low-Level. Man kann eigentlich nichts anderes machen, als Rechnen und mit Pointern rumspielen. Ich kopier jetzt einfach mal Lukis Code aus dem "exe Größe" Thema:
    Code:
    ;Hello World Programm
      ORG 100h ; COM File
    
    EntryPoint: 
      mov si, message1	; Addresse von String Message nach SI
     .startloop
      lodsb 		; Byte laden
      or al,al		; ist = 0 ?
      jz short .endloop	; wenn 0, dann ende
      mov ah,0x0E
      int 0x10		; Bios-Interrupt
      jmp short .startloop	; naechstes Zeichen
     .endloop
      ret			; Ende COM File
    
    DataSection:
      message1 db "Hallo Welt.",13,10,0
    Und da das ganze einfach, low-level und systemnah ist, ist es auch verdammt schnell. Für immer wieder verwendete Algohrithmen z.B. wird oft ASM verwendet. Z.B. bei Shadern oder bei Verschlüsselungen/Komprimierungen.

  7. #7
    Allgemein: Assembler-Dialekte zusammengefasst.
    Gibt ja verschiedene Dialekte z.B. speziel für i386 usw.

  8. #8
    Dann kann ich eigentlich für schnelle Programm bei C++ bleiben, oder?

  9. #9
    Es gibt nicht DIE Sprache, sondern man muss sehen wofür man welche Sprache nimmt. Und schnell in Sachen Anwendungen, naja, da gibts wohl kaum große Unterschiede. Denn Anwendungen sind nicht Framebasiert (werden nicht jedes Frame neu gezeichnet) sondern sind Eventbasiert und somit meist sowieso nicht auf Geschwindigkeit bedacht, dass es nicht so viel Unterschied macht, ob man Visual Basic (oder PureBasic), C++ oder Delphi oder sowas nimmt. Ein Fenster mit ein paar Buttons darstellen wird wohl überall nicht viel Zeit beanspruchen und die Events bearbeiten sollte auch nicht das Problem sein.
    Im Allgemeinen, wenn du C++ kannst, solltest du dabei bleiben und das vertiefen. Damit kann man wohl wenig falsch machen.

    ABER, dann kommt es auch immer noch auf den Programmierstil an. Auch in C++ kann man Programme schreiben, welche langsamer laufen als in anderen Sprachen, wenn man es nicht anständig optimiert oder einfach nur Mist codet. Demnach muss man aber auch in anderen Sprachen optimieren oder einen schnellen Weg (z.B. lieber Pointer verwenden als lange im Speicher suchen) wählen um ein schnelles Programm zu erhalten.

  10. #10
    Zitat Zitat von Sunny
    Es gibt nicht DIE Sprache, sondern man muss sehen wofür man welche Sprache nimmt. Und schnell in Sachen Anwendungen, naja, da gibts wohl kaum große Unterschiede. Denn Anwendungen sind nicht Framebasiert (werden nicht jedes Frame neu gezeichnet) sondern sind Eventbasiert und somit meist sowieso nicht auf Geschwindigkeit bedacht, dass es nicht so viel Unterschied macht, ob man Visual Basic (oder PureBasic), C++ oder Delphi oder sowas nimmt. Ein Fenster mit ein paar Buttons darstellen wird wohl überall nicht viel Zeit beanspruchen und die Events bearbeiten sollte auch nicht das Problem sein.
    Aber auch in Anwendungen können Algorythmen drin stecken die einen Unterschied ausmachen könnten

    Im grunde genommen übersetzt jede Sprache gleich schnellen, Ausführbaren code... nur kommt es darauf an was man (oder der Compiler) alles zwischen packt... Um ein Pixel auf einem Pic zu manipulieren genugt ein bisschen ASM Code. Natürlich kann man das auch in C++ oder Delphi machen, aber Delphi beispielsweise packt dir da die TImage Komponente dazwischen was einfach Ziet frisst.

  11. #11
    Ich würde sagen, es kommt absolut drauf an, was man braucht. Wenn man vorhat, aufwendige Berechnungen durchzuführen und auf ein GUI verzichten kann, sollte man mit C oder C++ zurechtkommen (vielleicht sogar mit C noch besser - bei C++ wird AFAIK mehr Zeug eingebunden und wenn man die gesamten zur Verfügung stehenden Ressourcen braucht könnten ein paar Kilobyte Extracode schon einen gewissen Unterschied machen).
    Für absolute Geschwindigkeit kommst du an ASM nicht vorbei.

    Für ein ressourcentechnisch vergleichsweise popliges Programm wie einen Maker-Klon braucht man hingegen kein echtzeitaktualisiertes UI und auch keine massiven Berechnungen und sollte sogar mit langsameren Sprachen wie Java zurechtkommen.
    Wenn du nicht gerade vorhast, ein aufwendiges Spiel zu programmieren, dürfte bei der Wahl der Sprache die Geschwindigkeit wohl kaum eine größere Rolle spielen.

  12. #12
    für allgemeine anwendungen ist objekt pascal hervorragend find ich ... die geschwindigkeit der befehlserfassung hängt von den komponennten ab .... bzw von der programmierung

  13. #13
    Ich glaub in unserem Bereich, der Hobbyprogrammierung, ist die Wahl der Programmiersprache eher sekundär wenn es um die Geschwindigkeit der Anwendung geht. Viel wichtiger ist da schon saubere Programmierung.
    Davon abgesehen, macht es einen Unterschied ob ein Spiel mit 200 FPS oder 300 läuft? Wirkliche Gedanken um seine Programmierung sollte man sich erst machen, wenn die FPS stark in den Keller gehen, ansonsten ist das mMn ebenso wie die Benchmarks, eine Zahl, die ihre größte Wirkung auf das Ego des Spielers bzw Programmierers hat.

  14. #14
    Die schnellste Programmiersprache, hmm.
    C++ ist bestimmt schnell

    Jedenfalls im Verhältnis zur langsamsten "programmier"-sprache der welt.
    Die Möchtegernskriptsprache "mIRC-Script"(heisst die auch so?) ist nämlich ca. 10'000 mal langsamer als C++.
    Hab da mal nen Algorithmus von mIRC in C++ übernommen und in etwa das festgestellt

  15. #15
    Zitat Zitat von Netbek
    Die schnellste Programmiersprache, hmm.
    C++ ist bestimmt schnell

    Jedenfalls im Verhältnis zur langsamsten "programmier"-sprache der welt.
    Die Möchtegernskriptsprache "mIRC-Script"(heisst die auch so?) ist nämlich ca. 10'000 mal langsamer als C++.
    Hab da mal nen Algorithmus von mIRC in C++ übernommen und in etwa das festgestellt
    Wobei es nicht gerade fair ist, die interpretierte Skriptsprache eines zweitklassigen Chatprogramms mit einer professionellen Programmiersprache, für die seit 1980 Compiler (weiter)entwickelt werden, zu vergleichen.

    Und verglichen mit Maker-Assembly ist mIRC-Script immer noch unglaublich komfortabel und flink.
    ...Wer auch immer auf die Idee gekommen ist, eine interpretierte pseudo-Assemblersprache zu entwickeln, gehört bestraft.

  16. #16
    Zitat Zitat von Jesus_666
    ...Wer auch immer auf die Idee gekommen ist, eine interpretierte pseudo-Assemblersprache zu entwickeln, gehört bestraft.
    Und was ist mit Java?

  17. #17
    Zitat Zitat von Bluebird
    Und was ist mit Java?
    Naja, wahrscheinlich geht die Java Virtual Machine "etwas" über die simple Stack-Maschine dieses Maker-ASM hinaus

    Soweit ich weiß wird der Java-Zwischencode zur Laufzeit vom JustInTime-Compiler der Java-VM in den jeweiligen Maschinencode übersetzt, theoretisch ist Java damit also genauso schnell wie nativer Code.

  18. #18
    Zitat Zitat von Bluebird
    Und was ist mit Java?
    Du siehst Java als eine interpretierte pseudo-Assembler Sprache?
    Zu Maker - "Assembly" passt diese Aussage. Und zwar hauptsächlich wegen der umständlichen Rechenweise. Genau wie beim Assembler musst du beim Maker Rechenoperator und 2 Parameter angeben. Soweit ich mich zumindest erinnere.
    Das bedeutet, dass du für die Rechnung a = (0.5 * b) / ( c * d ) sehr viele einzelne Rechenschritte durchführen musst.
    Und zwar etwa so:
    [FONT=Courier New]
    b = b*0.5;
    c = c *d;
    b = b/c;
    a = b;
    [/FONT]
    Maker Assembly triffts daher ziemlich gut. Wer sich das ausgedacht hat, gehört wirklich hinter Gitter, denn eine vernünftige Syntax fürs rechnen hätte den Zeitaufwand mit dem Maker erheblich verkürzt.
    -------------------------------------
    Übrigens würde mich interessieren, ob du Ahnung von Java und Assembler hast.

  19. #19
    Zitat Zitat von blue lord
    Was ist die schnellste Programmiersprache (für Windows Programme, kein 3D)?
    Ich würde auch sagen, dass es für einfache Windows-Programme keine allzu große Rolle spielt, welche Sprache du verwendest. Wenn du bereits eine vernünftige Sprache beherrschst, brauchst du für die paar Millisekunden wohl kaum eine andere zu lernen. Wenn du allerdings überlegst, welche Sprache du lernen sollst, würde ich dir zu C++ raten. Damit wirst du gleichzeitig in der Lage sein, Java zu verwenden, weil die beiden Sprachen sich in der Syntax ja wirklich kaum voneinander unterscheiden (soweit ich das bisher beurteilen kann).

  20. #20
    Zitat Zitat von Murphy
    Übrigens würde mich interessieren, ob du Ahnung von Java und Assembler hast.
    Wer, ich? Ich lerne gerade von der Uni her Java; mit ASM hab' ich mich nicht wirklich beschäftigt - so einen niedrigen Level brauchte ich noch nicht.

    Zitat Zitat von elite_benny
    Wenn du allerdings überlegst, welche Sprache du lernen sollst, würde ich dir zu C++ raten. Damit wirst du gleichzeitig in der Lage sein, Java zu verwenden, weil die beiden Sprachen sich in der Syntax ja wirklich kaum voneinander unterscheiden (soweit ich das bisher beurteilen kann).
    Abgesehen davon, daß bei Java alles in Klassen passiert (selbst Klassen, wie man in C++ benutzen würde, müssen mindestens in der Hauptklasse geschachtelt sein), daß char zwei Byte groß ist (Unicode) und du eigentlich ganz anders programmierst...
    Es ist erstaunlich, wie sehr sich Java von C++ unterscheidet, obwohl die syntaktischen Grundlagen identisch sind.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •