Programmeringsspråk som C och Java är högnivåspråk som kräver att källkoden som programmeraren anger ska kompileras. När kompilatorn har bearbetat koden, producerar den en uppsättning objektkod som kan skickas till andra program eller köras på ett datorsystem.
När man skapar källkod i ett objektorienterat språk som C++, kan programmeraren använda instanser av objekt för att göra källkoden lättare att följa. När koden väl är kompilerad kommer den resulterande objektkoden att vara svår att läsa för en människa, men den kan bearbetas mycket effektivt av en dator. De två typerna av objekt är ganska olika, men för sina respektive användningsområden – den ena läses av programmerare och den andra läses av datorer – tjänar de ett liknande syfte.
Objektkoden kan också hålla källkoden för en viss applikation skyddad och ta bort kravet på att inkludera källan med den köpta produkten. Ett exempel på objektkod som konsumenter betalar för skulle vara Microsoft Office. Objektkoden skrivs till en CD eller DVD och paketeras för försäljning, men källkoden som används för att kompilera programmen till deras fungerande tillstånd hålls av Microsoft och delas inte med allmänheten. Detta hjälper till att skydda immateriella rättigheter för Microsoft och eliminerar också behovet för individen att köpa programvaran för att kompilera den innan installationen.
En kompilator är en mjukvara som omvandlar den inmatade källkoden till ett maskinspråksläsbart objekt som är optimerat för läsning av en dator. Att separera den ursprungliga källkoden från den installerade koden kan också ge fördelar för utvecklare vid testning, vilket gör att källkoden kontinuerligt kan ändras och kompileras för att vara tillgänglig för senare installationer. Ett exempel på detta kan vara att jämföra ett programs nattbygge med den stabila paketerade objektkoden. Den ena behöver kompileras och byts varje natt, den andra har testats och görs tillgänglig när majoriteten av knäckarna är klara.
Vissa applikationer eller till och med operativsystem som Linux kan kompileras av användarna när de har laddats ner, eller så kan de laddas ner och installeras från förkompilerad objektkod. Många av dessa applikationer är öppen källkod och utvecklingsgemenskaperna som skapar och stödjer dem uppmuntrar dem som använder dem att hjälpa till med att modifiera sin källkod.
Det finns fler och fler applikationer med öppen källkod och utvecklare runt om på Internet som skulle uppmuntra användningen av nattbyggen, men den paketerade objektkoden för både applikationer med öppen källkod och betalprogram kan vara mycket mer användarvänlig.