Programmeerimiskeeled, nagu C ja Java, on kõrgetasemelised keeled, mis nõuavad programmeerija sisestatud lähtekoodi kompileerimist. Kui kompilaator on koodi töödelnud, loob ta objektikoodi komplekti, mida saab edastada teistele programmidele või käivitada arvutisüsteemis.
Kui loote lähtekoodi objektorienteeritud keeles (nt C++), saab programmeerija kasutada objektide eksemplare, et muuta lähtekoodi hõlpsamini jälgitavaks. Kui kood on kompileeritud, on saadud objektikoodi inimesel raske lugeda, kuid arvuti saab seda väga tõhusalt töödelda. Need kahte tüüpi objektid on üsna erinevad, kuid nende kasutusotstarbel – ühte loevad programmeerijad ja teist loevad arvutid – on neil sarnane eesmärk.
Objektikood võib kaitsta ka konkreetse rakenduse lähtekoodi ja eemaldada nõude lisada ostetud tootele allikas. Üks näide objektikoodist, mille eest tarbijad maksavad, on Microsoft Office. Objektikood kirjutatakse CD-le või DVD-le ja pakitakse müügiks, kuid rakenduste tööolekusse kompileerimiseks kasutatud lähtekoodi säilitab Microsoft ja seda ei jagata üldsusega. See aitab kaitsta Microsofti intellektuaalomandit ja välistab ka vajaduse osta tarkvara enne installimist selle kompileerimiseks.
Kompilaator on tarkvara, mis muudab sisestatud lähtekoodi masinkeeles loetavaks objektiks, mis on optimeeritud arvutis lugemiseks. Algse lähtekoodi eraldamine installitud koodist võib arendajatele testimisel samuti kasu tuua, võimaldades lähtekoodil pidevalt muutuda ja kompileerida, et see oleks hilisemate installide jaoks saadaval. Selle näide võib olla rakenduse igaõhtuse ehituse võrdlemine stabiilse pakitud objekti koodiga. Üks vajab koostamist ja seda vahetatakse iga öö, teine on testitud ja tehakse kättesaadavaks siis, kui enamus kinke on välja töötatud.
Mõned rakendused või isegi operatsioonisüsteemid, näiteks Linux, saavad kasutajad pärast allalaadimist kompileerida või need saab alla laadida ja installida eelnevalt kompileeritud objektikoodist. Paljud neist rakendustest on avatud lähtekoodiga ning neid loovad ja toetavad arenduskogukonnad julgustavad neid kasutavaid lähtekoodi muutma.
Internetis on üha rohkem avatud lähtekoodiga rakendusi ja arendajaid, kes julgustaksid kasutama igaõhtuseid ehitusi, kuid nii avatud lähtekoodiga kui ka tasulise tarkvara rakenduste pakendatud objektkood võib olla palju kasutajasõbralikum.