Programerji uporabljajo prevajalnike za pretvorbo izvorne kode v strojno kodo.
Računalniki berejo ukaze iz strojnega jezika, napisanega v binarnem sistemu, torej dolge nize nič in enic. Medtem ko lahko računalniki učinkovito berejo ta jezik, večina človeških programerjev ne more. Zato programerji delajo v programskem jeziku, ki ga razumejo, ki ga nato prevedejo v strojni jezik, ki ga razume računalnik. Medtem ko mnogi novejši jeziki uporabljajo tolmače, ki med izvajanjem programa prevajajo iz enega v drugega, starejši programski jeziki so uporabljali prevajalnike, ki so ta prevod v celoti opravili, preden je računalnik izvedel program.
Prednost: samostojen in učinkovit
Ena od glavnih prednosti prevedenih programov je, da so samostojne enote, ki so pripravljene za izvedbo. Ker so že prevedeni v binarne datoteke strojnega jezika, ni druge aplikacije ali paketa, ki bi ga uporabnik moral posodabljati. Če je program preveden za Windows na arhitekturi x86, končni uporabnik potrebuje samo operacijski sistem Windows, ki deluje na arhitekturi x86. Poleg tega lahko vnaprej prevedeni paket deluje hitreje kot tolmač, ki prevaja izvorno kodo v realnem času.
Video dneva
Pomanjkljivost: specifična za strojno opremo
Ker prevajalnik prevaja izvorno kodo v določen strojni jezik, morajo biti programi posebej prevedeno za OS X, Windows ali Linux, pa tudi posebej za 32-bitne ali 64-bitne arhitekture. Za programerja ali programsko podjetje, ki poskuša izdelek predstaviti čim širšemu občinstvu, to pomeni vzdrževanje več različic izvorne kode za isto aplikacijo. Posledica tega je več časa, porabljenega za vzdrževanje izvorne kode, in dodatne težave ob izdaji posodobitev.
Prednost: Optimizacija strojne opreme
Čeprav ima zaklenjenost v določen paket strojne opreme svoje slabosti, lahko prevajanje programa poveča tudi njegovo zmogljivost. Uporabniki lahko prevajalcem pošljejo posebne možnosti glede podrobnosti o strojni opremi, na kateri se bo program izvajal. To omogoča prevajalniku, da ustvari kodo strojnega jezika, ki najbolj učinkovito uporablja določeno strojno opremo, v nasprotju z bolj generično kodo. To tudi omogoča naprednim uporabnikom, da optimizirajo delovanje programa na svojih računalnikih.
Pomanjkljivost: čas sestavljanja
Ena od pomanjkljivosti prevajalnika je, da mora dejansko prevesti izvorno kodo. Medtem ko je za prevajanje majhnih programov, ki jih kodirajo številni programerji začetniki, potrebno malo časa, lahko za prevajanje večjih programov vzame veliko časa. Ko programerji nimajo drugega dela, kot da čakajo, da se prevajalnik konča, se ta čas lahko sešteje – zlasti med razvojna faza, ko je treba kodo prevesti, da se preizkusi funkcionalnost in odpravi težave napake.