Programavimo kalbos, tokios kaip C ir Java, yra aukšto lygio kalbos, kurioms reikalingas programuotojo įvestas šaltinio kodas. Kai kompiliatorius apdoroja kodą, jis sukuria objekto kodo rinkinį, kurį galima perduoti kitoms programoms arba paleisti kompiuterinėje sistemoje.
Kurdamas šaltinio kodą į objektą orientuota kalba, pvz., C++, programuotojas gali naudoti objektų egzempliorius, kad būtų lengviau sekti šaltinio kodą. Kai kodas bus sukompiliuotas, gautą objekto kodą žmogui bus sunku perskaityti, tačiau jį gali labai efektyviai apdoroti kompiuteris. Dviejų tipų objektai yra gana skirtingi, tačiau pagal atitinkamą paskirtį – vieną skaito programuotojai, kitą skaito kompiuteriai – jie tarnauja panašiam tikslui.
Objekto kodas taip pat gali apsaugoti konkrečios programos šaltinio kodą ir pašalinti reikalavimą įtraukti šaltinį į įsigytą produktą. Vienas objekto kodo, už kurį moka vartotojai, pavyzdys būtų „Microsoft Office“. Objekto kodas įrašomas į kompaktinį diską arba DVD diską ir supakuotas parduoti, tačiau šaltinio kodas, naudojamas programoms kompiliuoti į jų veikimo būseną, yra saugomas Microsoft ir nebendrinamas su plačiąja visuomene. Tai padeda apsaugoti „Microsoft“ intelektinę nuosavybę ir pašalina būtinybę asmeniui įsigyti programinę įrangą, kad ją kompiliuotų prieš įdiegiant.
Kompiliatorius yra programinės įrangos dalis, kuri įvestą šaltinio kodą paverčia mašinine kalba skaitomu objektu, kuris yra optimizuotas skaityti kompiuteriu. Pradinio šaltinio kodo atskyrimas nuo įdiegto kodo taip pat gali būti naudingas kūrėjams atliekant testavimą, todėl šaltinio kodas gali nuolat keistis ir būti kompiliuojamas, kad būtų galima jį įdiegti vėliau. To pavyzdys galėtų būti programos naktinio kūrimo palyginimas su stabiliu supakuoto objekto kodu. Vieną reikia sukompiliuoti ir ji keičiama kas vakarą, kita išbandyta ir pasiekiama, kai išspręsta dauguma kinkų.
Kai kurias programas ar net operacines sistemas, tokias kaip „Linux“, vartotojai gali sukompiliuoti atsisiuntę arba jas galima atsisiųsti ir įdiegti iš iš anksto sukompiliuoto objekto kodo. Daugelis šių programų yra atvirojo kodo, o jas kuriančios ir palaikančios kūrėjų bendruomenės skatina jas naudojančius padėti keisti šaltinio kodą.
Internete atsiranda vis daugiau atvirojo kodo programų ir kūrėjų, kurie skatintų naudoti naktines versijas, tačiau atvirojo kodo ir mokamų programų paketinis objekto kodas gali būti daug patogesnis vartotojui.