Citat:
Ursprungligen postat av
realnigga
C++ är hastigt och särskilt optimal i algorytmer som kräver for loops av många element så som till exempel pathfinding algorytmer.
1. Varför är C/C++ det snabbaste språket?
2. Varför använder folk Javascript, Python, C#, osv när C/C++ är det snabbaste språket?
Ok, jag ska svara på detta. Jobbar själv som programmerare och har programmerat i mer än 25+ år.
1.
C/C++ är inte det snabbast språket, assembler är snabbare, men C/C++ är väldigt snabbt.
Anledningen varför är för att det är mer maskinnära än vad övriga språk är som använder sig av en virtuell maskin för att exekvera koden. C/C++ är kompilerat för en specifik plattform (operativsystem), vilket gör det betydligt snabbare.
2.
Den största anledningen varför man använder språk så som Java, C#, etc. är p.g.a. att man då inte har ett plattformsberoende. Man måste med andra ord inte kompilera om koden för de olika plattformarna som den ska exekveras på.
Om man t.ex. skriver ett Java program så kan den koden exekveras på vilken plattform som helst utan att kompileras om specifikt för den plattformen. Dock måste det finnas en virtuell maskin implementerad för den plattformen för att koden skall kunna exekveras.
3.
Sen var det någon som nämnde att man använder dessa språk för att det är enklare språk. Det är delvis sant, men det är inte den största anledningen. Vad som är svårare med maskinnära språk är minneshanteringen, då måste du själv hantera allokeringen av minne, samt frigörandet av allokerat minne.
Minneshanteringen är helt klart krångligare då man använder sig av koncept så som "pekare". Sen är det större risk att man får minnesläckor i ett C/C++ program eftersom du måste hantera minnesallokeringen själv. I de andra språken så är det den virtuella maskinen som automatiskt hanterar minnesallokeringen åt dig.
4.
Vill påpeka att Javascript inte är ett programmeringsspråk. Javascript kompileras inte utan exekveras av t.ex. en webbläsare. Detta gör Javascript till ett skriptspråk, inte ett programmeringsspråk.