Kompilator vs tolk
Når du skriver programmer på et høyt språk, kan datamaskinen ikke forstå det. Slik at det vil være brukbart, må du konvertere det til noe som en datamaskin forstår. Det er her kompilatorer og tolker kommer inn som de begge har samme funksjon. Hovedforskjellen mellom en kompilator og en tolk er når de utfører koden. Med tolk utføres koden med en gang med tolkingen som overfører den tolkede koden til datamaskinen. Til sammenligning utfører en kompilator ikke koden. I stedet skriver den ferdige koden inn i disken. Koden som er skrevet til disk kan da utføres når som helst.
Hovedforskjellen mellom tolkeren og kompilatoren gir et annet. Siden tolk er nødvendig når du kjører et program, må du ha en tolk installert hvis du vil utføre programmet i maskinen. Dette er ikke tilfellet med en kompilator. Når programmet er utarbeidet, trenger du bare det kompilerte programmet og ikke kompilatoren eller den originale koden.
En fordel ved å bruke en tolk i stedet for en kompilator er muligheten til å utføre programmet på datamaskiner som kjører forskjellige operativsystemer; gitt at du har riktig tolk. Når du kompilerer et program, ville det bare være for et bestemt operativsystem og ikke ville kjøre på andre. For å få det til å kjøre på et annet operativsystem, må du optimalisere koden for operativsystemet og kompilere det på nytt.
Ulempen med å bruke en tolk er den ekstra overhead. En tolk vil trenge litt prosessorkraft og hver linje av kode vil bli tolket under kjøretid. Dette er ikke tilfelle når du har et kompilert program fordi operativsystemet kan lese det direkte og utføre hver kommando. Det ekstra trinnet med tolkingskode gjør det tolkede programmet til å kjøre betydelig langsommere enn kompilert kode. Tolken vil heller ikke kunne utnytte OS-spesifikke optimaliseringer som kan la et kompilert program kjøre mer effektivt.
Å velge mellom en kompilator og en tolk bør avhenge av om du vil ha bærbarhet eller ytelse.
Sammendrag: