Vi skriver vanligtvis ett datorprogram med hjälp av ett högnivåspråk. Ett högnivåspråk är ett språk som är begripligt för oss människor. Det kallas källkod.
En dator förstår dock inte högnivåspråk. Den förstår bara programmet som är skrivet med 0:or och 1:or i binär form, vilket kallas maskinkod.
För att omvandla källkod till maskinkod använder vi antingen en kompilator eller en tolk.
Både kompilatorer och tolkar används för att omvandla ett program som är skrivet på ett högnivåspråk till maskinkod som datorer förstår. Det finns dock skillnader mellan hur en tolk och en kompilator fungerar.
Interpreter Vs Compiler
Interpreter | Compiler |
---|---|
Översätter programmet ett uttalande i taget. | Skannar hela programmet och översätter det i sin helhet till maskinkod. |
Tolkare tar vanligtvis mindre tid på sig att analysera källkoden. Den totala exekveringstiden är dock jämförelsevis långsammare än kompilatorer. | Compilatorer tar vanligtvis mycket tid i anspråk för att analysera källkoden. Den totala exekveringstiden är dock jämförelsevis snabbare än tolkar. |
Ingen mellanliggande objektkod genereras, vilket gör att de är minneseffektiva. | Genererar mellanliggande objektkod som kräver ytterligare länkning, vilket gör att de kräver mer minne. |
Programspråk som JavaScript, Python och Ruby använder tolkar. | Programspråk som C, C++ och Java använder kompilatorer. |