Vi skriver normalt et computerprogram ved hjælp af et højniveausprog. Et højniveausprog er et sprog, der kan forstås af os mennesker. Det kaldes kildekode.
En computer forstår imidlertid ikke højniveausprog. Den forstår kun det program, der er skrevet med 0’er og 1’er i binær form, kaldet maskinkode.
For at konvertere kildekode til maskinkode bruger vi enten en compiler eller en fortolker.
Både compilere og fortolkere bruges til at konvertere et program skrevet i et højniveausprog til maskinkode, som computere forstår. Der er dog forskelle på, hvordan en fortolker og en compiler fungerer.
Interpreter Vs Compiler
Interpreter | Compiler |
---|---|
Omsætter program et statement ad gangen. | Søger hele programmet og oversætter det som helhed til maskinkode. |
Interpreterne tager normalt mindre tid på sig at analysere kildekoden. Den samlede udførelsestid er dog forholdsvis langsommere end compilere. | Compilere tager normalt meget lang tid om at analysere kildekoden. Den samlede udførelsestid er dog forholdsvis hurtigere end fortolkere. |
Der genereres ingen mellemliggende objektkode, og de er derfor hukommelseseffektive. | Genererer mellemliggende objektkode, som yderligere kræver linking, og som derfor kræver mere hukommelse. |
Programmeringssprog som JavaScript, Python og Ruby bruger fortolkere. | Programmeringssprog som C, C++ og Java bruger kompilatorer. |