Data lese kommandoer fra en maskin språk skrevet i binært , dvs. lange strenger av nuller og enere . Mens datamaskiner kan lese dette språket effektivt, mest menneskelige programmerere ikke kan. Det er derfor programmerere jobbe i et programmeringsspråk de kan forstå , som de deretter oversette til maskinen språk som datamaskinen kan forstå. Mens mange nyere språk bruker tolker som oversetter fra den ene til den andre mens programmet kjører , brukte eldre programmeringsspråk kompilatorer som gjorde denne oversettelsen helt før datamaskinen henrettet programmet. Fordel: selvstendig og effektiv
En stor fordel med programmer som er utarbeidet er at de er selvstendige enheter som er klare til å bli henrettet. Fordi de allerede er samlet inn maskinen språket binærfiler , er det ingen andre program eller pakke som brukeren har til å holde up-to- date . Hvis et program er kompilert for Windows på en x86 arkitektur , må sluttbrukeren bare et Windows operativsystem som kjører på en x86- arkitektur. I tillegg kan en ferdigbygd pakke kjøre raskere enn en tolk kompilere kildekoden i sanntid
Ulempe : . Hardware Spesifikk
Fordi en kompilator oversetter kildekoden til en bestemt maskin språk, programmene må være spesielt kompilert for OS X , Windows eller Linux , samt spesielt for 32 -bit eller 64 -bit arkitektur . For en programmerer eller programvare selskapet prøver å få et produkt ut til et bredest mulig publikum , betyr dette vedlikeholde flere versjoner av kildekoden for den samme applikasjonen . Dette resulterer i mer tid brukt på kildekoden vedlikehold og ekstra trøbbel når oppdateringer blir frigitt
Advantage : . Hardware Optimization
Mens blir låst inn i en bestemt maskinvare pakken har sine ulemper , kompilere et program kan også øke ytelsen. Brukere kan sende konkrete alternativer til kompilatorer om detaljene i hardware programmet skal kjøre på . Dette tillater kompilatoren å lage maskinen språkkode som gjør den mest effektive bruk av de angitte maskinvare , i motsetning til mer generell kode . Dette også kan avanserte brukere for å optimalisere et program ytelse på sine datamaskiner
Ulempe : . Kompiler Times
En av ulempene ved å ha en kompilator er at det faktisk må kompilere kildekoden. Mens de små programmer som mange nybegynnere programmerere koden ta trivielle mengder tid å kompilere , kan større programmet suiter ta betydelige mengder tid å kompilere . Når programmerere har ingenting å gjøre enn å vente for kompilatoren til slutt, kan denne gangen legge opp --- spesielt i utviklingsfasen , når koden må kompileres for å teste funksjonalitet og feilsøke glitches .