In het algemeen schrijven we een computerprogramma in een taal op hoog niveau. Een taal op hoog niveau is een taal die voor ons, mensen, begrijpelijk is. Dit wordt broncode genoemd.
Echter, een computer begrijpt geen taal op hoog niveau. Hij begrijpt alleen het programma dat in 0’s en 1’s binair is geschreven, de zogenaamde machinecode.
Om broncode in machinecode om te zetten, gebruiken we ofwel een compiler ofwel een interpreter.
Zowel compilers als interpreters worden gebruikt om een programma dat in een taal op hoog niveau is geschreven, om te zetten in machinecode die door computers wordt begrepen. Er zijn echter verschillen tussen de werking van een interpreter en een compiler.
Interpreter Vs Compiler
Interpreter | Compiler |
---|---|
Vertaalt programma’s één statement per keer. | Scant het gehele programma en vertaalt het in zijn geheel naar machinecode. |
Interpreters hebben gewoonlijk minder tijd nodig om de broncode te analyseren. De totale uitvoeringstijd is echter relatief langzamer dan die van compilers. | Compilers nemen gewoonlijk veel tijd in beslag om de broncode te analyseren. De totale uitvoeringstijd is echter relatief sneller dan die van tolken. |
Er wordt geen intermediaire objectcode gegenereerd, dus zijn ze geheugenefficiënt. | Er wordt intermediaire objectcode gegenereerd die verder moet worden gekoppeld, dus meer geheugen nodig heeft. |
Programmeertalen zoals JavaScript, Python, Ruby gebruiken tolken. | Programmeertalen zoals C, C++, Java gebruiken compilers. |