A programozók fordítókat használnak, hogy a forráskódot gépi kóddá alakítsák.
A számítógépek binárisan, azaz hosszú nullákból és egyesekből álló gépi nyelvből olvassák be a parancsokat. Míg a számítógépek hatékonyan tudják olvasni ezt a nyelvet, a legtöbb emberi programozó nem. Ezért a programozók egy általuk érthető programozási nyelven dolgoznak, amit aztán lefordítanak a számítógép által érthető gépi nyelvre. Míg sok újabb nyelv tolmácsokat használ, amelyek a program futása közben fordítanak egyikről a másikra, a régebbi nyelvek programozási nyelvek olyan fordítókat használtak, amelyek ezt a fordítást teljes egészében elvégezték, mielőtt a számítógép végrehajtotta volna a program.
Előny: Önálló és hatékony
A lefordított programok egyik fő előnye, hogy önálló egységek, amelyek készen állnak a végrehajtásra. Mivel ezek már gépi nyelvi binárisokba vannak fordítva, nincs második alkalmazás vagy csomag, amelyet a felhasználónak naprakészen kell tartania. Ha egy programot x86 architektúrán fordítanak Windowsra, akkor a végfelhasználónak csak egy x86 architektúrán futó Windows operációs rendszerre van szüksége. Ezenkívül egy előre lefordított csomag gyorsabban futhat, mint a forráskódot valós időben fordító tolmács.
A nap videója
Hátrány: Hardver specifikus
Mivel egy fordító lefordítja a forráskódot egy adott gépi nyelvre, a programoknak ilyeneknek kell lenniük kifejezetten OS X, Windows vagy Linux, valamint kifejezetten 32 bites vagy 64 bites rendszerre fordítva architektúrák. Egy programozó vagy szoftvercég számára, aki egy terméket a lehető legszélesebb közönséghez szeretne eljuttatni, ez azt jelenti, hogy ugyanazon alkalmazás forráskódjának több verzióját kell fenntartani. Ez több időt jelent a forráskód karbantartására, és több problémát jelent a frissítések kiadásakor.
Előny: Hardver optimalizálás
Noha egy adott hardvercsomagba zártnak vannak árnyoldalai, egy program fordítása a teljesítményét is növelheti. A felhasználók konkrét opciókat küldhetnek a fordítóknak a program futni kívánt hardver részleteivel kapcsolatban. Ez lehetővé teszi a fordító számára, hogy olyan gépi nyelvi kódot hozzon létre, amely a leghatékonyabban használja a megadott hardvert, szemben az általánosabb kóddal. Ez azt is lehetővé teszi a haladó felhasználók számára, hogy optimalizálják a programok teljesítményét számítógépükön.
Hátránya: Összeállítási idők
A fordítóprogram egyik hátránya, hogy valójában forráskódot kell fordítania. Míg a sok kezdő programozó által kódolt kis programok fordítása csekély mennyiségű időt vesz igénybe, a nagyobb alkalmazáscsomagok fordítása jelentős időt vehet igénybe. Ha a programozóknak nincs más dolga, mint megvárni, amíg a fordító befejeződik, ez az idő összeadódhat – különösen a fejlesztési szakasz, amikor a kódot le kell fordítani a működés teszteléséhez és a hibaelhárításhoz hibákat.