Limbajele de programare precum C și Java sunt limbaje de nivel înalt care necesită compilarea codului sursă introdus de programator. Odată ce compilatorul a procesat codul, acesta produce un set de cod obiect care poate fi transmis altor programe sau rulat pe un sistem informatic.
Atunci când creează cod sursă într-un limbaj orientat pe obiecte, cum ar fi C++, programatorul poate folosi instanțe de obiecte pentru a face codul sursă mai ușor de urmărit. Odată compilat codul, codul obiect rezultat va fi dificil de citit de un om, dar poate fi procesat foarte eficient de un computer. Cele două tipuri de obiecte sunt destul de diferite, dar pentru utilizările lor respective — una citită de programatori, alta citită de computere — servesc unui scop similar.
Codul obiect poate păstra protejat codul sursă al unei anumite aplicații și poate elimina cerința de a include sursa cu produsul achiziționat. Un exemplu de cod obiect pentru care plătesc consumatorii ar fi Microsoft Office. Codul obiect este scris pe un CD sau DVD și ambalat pentru vânzare, dar codul sursă folosit pentru a compila aplicațiile în starea lor de funcționare este păstrat de Microsoft și nu este distribuit publicului larg. Acest lucru ajută la protejarea proprietății intelectuale pentru Microsoft și, de asemenea, elimină nevoia de a achiziționa software-ul pentru al compila înainte de instalare.
Un compilator este o bucată de software care transformă codul sursă introdus într-un obiect citibil în limbajul mașinii, care este optimizat pentru citire de către un computer. Separarea codului sursă original de codul instalat poate oferi, de asemenea, beneficii dezvoltatorilor în timpul testării, permițând codului sursă să se schimbe continuu și să fie compilat pentru a fi disponibil pentru instalări ulterioare. Un exemplu în acest sens ar putea fi compararea versiunii de noapte a unei aplicații cu codul obiect stabil ambalat. Unul trebuie compilat și este schimbat seara, celălalt a fost testat și este disponibil atunci când majoritatea problemelor au fost rezolvate.
Unele aplicații sau chiar sisteme de operare, cum ar fi Linux, pot fi compilate de utilizatori odată descărcate, sau pot fi descărcate și instalate din codul obiect pre-compilat. Multe dintre aceste aplicații sunt open source, iar comunitățile de dezvoltare care le creează și le susțin îi încurajează pe cei care le folosesc să asiste la modificarea codului sursă.
Există din ce în ce mai multe aplicații și dezvoltatori open source pe Internet care ar încuraja utilizarea versiunilor de noapte, cu toate acestea, codul obiect ambalat al aplicațiilor open source și payware poate fi mult mai ușor de utilizat.