Języki programowania, takie jak C i Java, to języki wysokiego poziomu, które wymagają kompilacji kodu źródłowego wprowadzonego przez programistę. Gdy kompilator przetworzy kod, tworzy zestaw kodu obiektowego, który można przekazać do innych programów lub uruchomić w systemie komputerowym.
Podczas tworzenia kodu źródłowego w języku zorientowanym obiektowo, takim jak C++, programista może użyć wystąpień obiektów, aby kod źródłowy był łatwiejszy do naśladowania. Po skompilowaniu kodu wynikowy kod obiektowy będzie trudny do odczytania dla człowieka, ale może być bardzo wydajnie przetworzony przez komputer. Te dwa typy obiektów są zupełnie różne, ale dla ich różnych zastosowań — jeden odczytany przez programistów, drugi przez komputery — służą podobnemu celowi.
Kod obiektowy może również chronić kod źródłowy konkretnej aplikacji i usuwać wymóg dołączania źródła do zakupionego produktu. Jednym z przykładów kodu wynikowego, za który płacą konsumenci, jest Microsoft Office. Kod wynikowy jest zapisywany na płycie CD lub DVD i pakowany do sprzedaży, ale kod źródłowy używany do kompilowania aplikacji do stanu roboczego jest przechowywany przez firmę Microsoft i nie jest udostępniany publicznie. Pomaga to chronić własność intelektualną firmy Microsoft, a także eliminuje potrzebę zakupu oprogramowania w celu skompilowania go przed instalacją.
Kompilator to oprogramowanie, które przekształca wprowadzony kod źródłowy w obiekt czytelny w języku maszynowym, zoptymalizowany do odczytu przez komputer. Oddzielenie oryginalnego kodu źródłowego od kodu zainstalowanego może również przynieść korzyści programistom podczas testowania, umożliwiając ciągłą zmianę kodu źródłowego i jego kompilację, aby był dostępny do późniejszych instalacji. Przykładem może być porównanie nocnej kompilacji aplikacji ze stabilnym spakowanym kodem obiektowym. Jeden wymaga kompilacji i jest zmieniany co noc, drugi został przetestowany i jest dostępny, gdy większość załamań zostanie rozwiązana.
Niektóre aplikacje, a nawet systemy operacyjne, takie jak Linux, mogą być kompilowane przez użytkowników po pobraniu lub mogą być pobierane i instalowane z prekompilowanego kodu obiektowego. Wiele z tych aplikacji to aplikacje typu open source, a społeczności programistów, które je tworzą i wspierają, zachęcają osoby z nich korzystające do pomocy w modyfikowaniu ich kodu źródłowego.
W Internecie jest coraz więcej aplikacji i programistów open source, którzy zachęcają do korzystania z nocnych kompilacji, jednak spakowany kod obiektowy zarówno aplikacji open source, jak i aplikacji płatnych może być znacznie bardziej przyjazny dla użytkownika.