Ključna razlika između izvornog programa i objektnog programa je u tome što je izvorni program program koji je čitljiv čovjeku, a objektni program je strojni izvršni program stvoren kompajliranjem izvornog programa.
Izvorni programi mogu se ili sastaviti ili protumačiti za izvršenje. Decompilers pomaže pretvoriti objektne programe natrag u izvorne programe. Važno je napomenuti da se pojmovi izvorni program i objektni program koriste kao relativni pojmovi. Ako uzmete program za transformaciju programa (poput kompajlera), ono što ulazi je izvorni program, a ono što izlazi je objektni program. Stoga objektni program koji proizvodi jedan alat može postati izvorna datoteka drugog alata.