Computere læser kommandoer fra en maskine sprog skrevet i binær , dvs lange strenge af nuller og ettaller . Mens computere kan læse dette sprog effektivt , de fleste menneskelige programmører ikke kan. Derfor er programmører arbejder i et programmeringssprog , de kan forstå , som de derefter oversætte til maskinen sprog computeren kan forstå. Mens mange nyere sprog bruger tolke , der oversætter fra den ene til den anden som programmet kører , ældre programmeringssprog brugte compilere , der gjorde denne oversættelse udelukkende inden computeren henrettet programmet. Fordel : selvstændig og effektiv
En væsentlig fordel ved programmer, der er udarbejdet , er, at de er selvstændige enheder , der er klar til at blive henrettet. Fordi de allerede er opgjort til maskinsprog binaries , er der ingen anden ansøgning eller pakke, som brugeren har til at holde up-to -date. Hvis et program er udarbejdet for Windows på en x86-arkitekturen , slutbrugeren behøver kun et Windows-operativsystem , der kører på en x86 -arkitekturen. Derudover kan en forkompileret pakke løbe hurtigere, end en tolk kompilere kildekoden i realtid
Ulempe: . Hardware Specific
Fordi en compiler oversætter kildekoden til en bestemt maskine sprog, programmerne skal specielt kompileret til OS X , Windows eller Linux , samt specifikt til 32-bit eller 64-bit arkitekturer. For en programmør eller software selskab forsøger at få et produkt ud til det bredest mulige publikum , betyder det, vedligeholder flere versioner af kildekoden til det samme program. Dette resulterer i mere tid brugt på kildekoden vedligeholdelse og ekstra ulejlighed , når opdateringer er frigivet
Fordel: . Hardware Optimering
blive låst fast i en specifik hardware pakken har sine ulemper , udarbejdelse af et program kan også øge sin ydeevne. Brugere kan sende bestemte muligheder for at compilere om detaljerne i hardwaren programmet vil køre på . Dette gør det muligt for compiler til at skabe maskinen sprogkode , der gør den mest effektive udnyttelse af den specificerede hardware , i modsætning til mere generisk kode. Dette giver også mulighed avancerede brugere til at optimere et programs ydeevne på deres computere
Ulempe: . Compile Times
En af ulemperne ved at have en compiler er , at det faktisk skal udarbejde kildekode . Mens de små programmer, som mange nybegyndere programmører kode tager trivielle mængder af tid til at kompilere kan større programpakker tage betydelige mængder af tid til at kompilere . Når programmører har intet at gøre , men vente på compiler til slut, kan denne gang tilføje op --- især i udviklingsfasen , når koden skal indsamles med henblik på at teste funktionalitet og fejlfinding glitches .