eine sprache hat keine geschwindigkeit. sie ist erstmal nur eine hilfsmittel für den programmierer. sie abstrahiert den für menschen schlecht lesbaren maschinencode.
die erste stufe der abstraktion ist assembler:
Code: Alles auswählen
LOAD 47, R0 # merke dir "47" in Register 1
LOAD 11, R1 # merke dir "11" in Register 2
ADD R0, R1 # addiere die beiden zahlen
in maschinencode könnte das dann so etwas sein:
Code: Alles auswählen
0F 47 00 #0F := LOAD, 2F := 47, 00 := R0
0F 11 01
0A 00 01 #0A := ADD
(diesen code kann die cpu direkt ausführen, sie liest zeile für zeile zahlen ein, schaut was sie jeweils tun soll,macht das, liest die nächste zeile ...)
wichtig ist hier, dass jedem assemblerbefehl eindeutig eine zahl zugeordnet ist. ( LOAD = 0F (hex) = 00001111 (bin) )
Die parameter sind auch einfach nur zahlen, LOAD erwartet hier zb zuerst ein INT, dann ein ziel register (ein kleiner, schneller speicherplatz im prozessor)
Die abstraktion von einfachen zahlen zu befehlen wie "ADD" ist zwar schon klasse, aber schöner ist doch etwas wie:
Sowas nennt man dann "höhere programmiersprache", also eine abstraktionseben höher. deutlicher wird das bei kontrollstrukturen wie einem einfachen if:
würde in assembler schon grausam aussehen, etwa so:
Code: Alles auswählen
LOAD A, R0
LOAD B, R1
CMP R0, R1 #vergleiche register 0 und 1
JGT :else # springe zu else wenn 0 grösser 1
LOAD 1, R2
PRINT R2
:else
LOAD 2 R2
PRINT R2
Höhere sprachen wie C oder C++ werden vom Compiler (Übersetzer) in maschinencode übersetzt (Compilersprachen). Wenn man also von geschwindigkeiten von sprachen spricht, meint man damit: wie schnell ist das compilat (der resultierende maschinencode).
C(++) compilate sind deshalb so schnell, da der programmierer sehr hardwarenah programmieren kann (pointer).
Pointer gibt es aber auch in vielen anderen sprachen.
Selbst in Python oder Java, obwohl man sie hier nicht direkt verwenden kann.
Python funktioniert grundsätzlich anders als C: es wird nicht übersetzt, sondern interpretiert, dh es läuft ein programm (geschrieben in einer Compilersprache) das das python-programm zur laufzeit (also während das python-programmausgeführt wird) anaylsiert und zeile für zeile ausführt. Daher ist python grundsätzlich langsamer als C.
Könnte Python eigentlich ohne C++ existieren oder C oder eine andere sprache existieren?
Nein, Python braucht eine Compilersprache, also zb C, in der der Pythoninterpreter geschrieben ist. (theoretisch könnte man den auch direkt in assembler schreiben, aber s.o.)
Und kann es sein das viele Pythonia etwas oder einen leichten groll haben C(++) zu benutzen ?
C(++) sind grausame sprachen, die leider viel zu oft eingesetzt werden.
vor allem von leuten die sie nicht richtig (was schwer ist) beherrschen.
Viele probleme wären in anderen sprachen wie etwa python leichter lösbar, ohne performanceprobleme.
könnte man also zb. 3D Engines realisieren ohne irgendeine sprache zu benutzen auser Python
theoretisch ja. du kannst alles machen in phython (ausser ein betriebssystem) sobald der interpreter läuft ist alles möglich.
praktisch gibt es dinge die nach compilersprachen verlangen, dazu gehören definitiv 3D engines.