Kompilator vs tolk
När du skriver program på ett språk på hög nivå kan datorn inte förstå det. Så att det kommer att vara användbart måste du konvertera det till något som en dator förstår. Det här är där kompilatorer och tolkar kommer in eftersom de båda har samma funktion. Huvudskillnaden mellan en kompilator och en tolk är när de kör koden. Med en tolk exekveras koden direkt med tolkningen som passerar den tolkade koden till datorn. I jämförelse utförs en kompilator inte koden. I stället skriver den färdiga koden i skivan. Koden som skrivs till disken kan då utföras när som helst.
Huvudskillnaden mellan tolkaren och kompilatorn spelar en annan. Eftersom tolken behövs när du kör ett program måste du ha en tolk installerad om du vill utföra programmet i din maskin. Detta är inte fallet med en kompilator. När programmet har sammanställts behöver du bara det sammanställda programmet och inte kompilatorn eller den ursprungliga koden.
En fördel med att använda en tolk snarare än en kompilator är möjligheten att utföra programmet på datorer som kör olika operativsystem. med tanke på att du har rätt tolk. När du sammanställer ett program, skulle det bara vara ett specifikt operativsystem och skulle inte köras på andra. För att få det att köras på ett annat operativsystem måste du optimera koden för det operativsystemet och kompilera det igen.
Nackdelen med att använda en tolk är den extra kostnaden. En tolk skulle behöva viss bearbetningseffekt och varje kodlinje skulle tolkas under körtiden. Det här är inte fallet när du har ett kompilerat program eftersom operativsystemet kan läsa det direkt och utföra varje kommando. Det extra steget i tolkningskoden gör det tolkade programmet att springa betydligt långsammare än kompilerade kod. Tolkaren skulle inte heller kunna utnyttja OS-specifika optimeringar som kan låta ett kompilerat program springa mer effektivt.
Att välja mellan en kompilator och en tolk bör bero på om du vill ha portabilitet eller prestanda.
Sammanfattning: