Ulemper og fordele ved compilere

...

Programmører bruger compilere til at omdanne kildekode til maskinkode.

Computere læser kommandoer fra et maskinsprog skrevet i binært, dvs. lange strenge af nuller og ettaller. Mens computere kan læse dette sprog effektivt, kan de fleste menneskelige programmører ikke. Derfor arbejder programmører i et programmeringssprog, de kan forstå, som de så oversætter til det maskinsprog, computeren kan forstå. Mens mange nyere sprog bruger tolke, der oversætter fra det ene til det andet, mens programmet kører, ældre programmeringssprog brugte compilere, der udførte denne oversættelse helt før computeren udførte program.

Fordel: Selvstændig og effektiv

En stor fordel ved programmer, der er kompileret, er, at de er selvstændige enheder, der er klar til at blive eksekveret. Fordi de allerede er kompileret til maskinsprogsbinære filer, er der ingen anden applikation eller pakke, som brugeren skal holde opdateret. Hvis et program er kompileret til Windows på en x86-arkitektur, behøver slutbrugeren kun et Windows-operativsystem, der kører på en x86-arkitektur. Derudover kan en prækompileret pakke køre hurtigere end en fortolker, der kompilerer kildekode i realtid.

Dagens video

Ulempe: Hardwarespecifik

Fordi en compiler oversætter kildekoden til et bestemt maskinsprog, skal programmer være det specielt kompileret til OS X, Windows eller Linux, såvel som specifikt til 32-bit eller 64-bit arkitekturer. For en programmør eller softwarevirksomhed, der forsøger at få et produkt ud til det bredest mulige publikum, betyder det, at man vedligeholder flere versioner af kildekoden til den samme applikation. Dette resulterer i mere tid brugt på kildekodevedligeholdelse og ekstra problemer, når opdateringer frigives.

Fordel: Hardwareoptimering

Mens det at være låst til en bestemt hardwarepakke har sine ulemper, kan kompilering af et program også øge dets ydeevne. Brugere kan sende specifikke muligheder til compilere med hensyn til detaljerne i den hardware, programmet skal køre på. Dette giver compileren mulighed for at skabe maskinsprogskode, der gør den mest effektive brug af den specificerede hardware i modsætning til mere generisk kode. Dette giver også avancerede brugere mulighed for at optimere et programs ydeevne på deres computere.

Ulempe: Compile Times

En af ulemperne ved at have en compiler er, at den faktisk skal kompilere kildekoden. Mens de små programmer, som mange nybegyndere programmører koder, tager trivielle mængder tid at kompilere, kan større applikationspakker tage betydelige mængder tid at kompilere. Når programmører ikke har andet at gøre end at vente på, at compileren er færdig, kan denne tid stige – især i løbet af udviklingsstadiet, hvor koden skal kompileres for at teste funktionalitet og fejlfinde fejl.