Ohjelmoijat käyttävät kääntäjiä muuttaakseen lähdekoodin konekoodiksi.
Tietokoneet lukevat komentoja konekielestä, joka on kirjoitettu binäärimuodossa, eli pitkiä nollien ja ykkösten merkkijonoja. Vaikka tietokoneet voivat lukea tätä kieltä tehokkaasti, useimmat ohjelmoijat eivät pysty. Tästä syystä ohjelmoijat työskentelevät ohjelmointikielellä, jota he ymmärtävät, jonka he sitten kääntävät konekieleksi, jota tietokone ymmärtää. Vaikka monet uudemmat kielet käyttävät tulkkeja, jotka kääntävät yhdestä toiseen ohjelman suorituksen aikana, vanhemmat ohjelmointikielet käyttivät kääntäjiä, jotka tekivät tämän käännöksen kokonaan ennen kuin tietokone suoritti käännöksen ohjelmoida.
Etu: Itsenäinen ja tehokas
Yksi käännettävien ohjelmien suuri etu on, että ne ovat itsenäisiä yksiköitä, jotka ovat valmiita suoritettavaksi. Koska ne on jo käännetty konekielisiksi binääritiedostoiksi, ei ole olemassa toista sovellusta tai pakettia, jota käyttäjän on pidettävä ajan tasalla. Jos ohjelma käännetään Windowsille x86-arkkitehtuurilla, loppukäyttäjä tarvitsee vain x86-arkkitehtuurilla toimivan Windows-käyttöjärjestelmän. Lisäksi esikäännetty paketti voi toimia nopeammin kuin tulkki, joka kääntää lähdekoodia reaaliajassa.
Päivän video
Haittapuoli: Laitteistokohtainen
Koska kääntäjä kääntää lähdekoodin tietylle konekielelle, ohjelmien on oltava erityisesti käännetty OS X: lle, Windowsille tai Linuxille sekä erityisesti 32- tai 64-bittiselle arkkitehtuurit. Ohjelmoijalle tai ohjelmistoyritykselle, joka yrittää saada tuotteen mahdollisimman laajalle yleisölle, tämä tarkoittaa useiden lähdekoodiversioiden ylläpitämistä samalle sovellukselle. Tämä johtaa enemmän aikaa lähdekoodin ylläpitoon ja ylimääräisiä ongelmia päivitysten julkaisussa.
Etu: Laitteiston optimointi
Vaikka lukituksella tiettyyn laitteistopakettiin on huonot puolensa, ohjelman kääntäminen voi myös parantaa sen suorituskykyä. Käyttäjät voivat lähettää kääntäjille erityisiä valintoja koskien laitteiston yksityiskohtia, joilla ohjelma ajetaan. Tämän ansiosta kääntäjä voi luoda konekielikoodia, joka käyttää määritettyä laitteistoa tehokkaimmin, toisin kuin yleisempi koodi. Tämän ansiosta kokeneet käyttäjät voivat optimoida ohjelman suorituskyvyn tietokoneissaan.
Haittapuoli: käännösajat
Yksi kääntäjän haitoista on, että sen on itse asiassa käännettävä lähdekoodi. Pienten ohjelmien, joita monet aloittelevat ohjelmoijat koodaavat, kääntäminen vie vähän aikaa, kun taas suurempien sovelluspakettien kääntäminen voi viedä huomattavasti aikaa. Kun ohjelmoijalla ei ole muuta tekemistä kuin odottaa kääntäjän valmistumista, tämä aika voi kasvaa yhteen - varsinkin kehitysvaihe, jolloin koodi on käännettävä toimivuuden testaamista ja vianmääritystä varten vikoja.