Plik maszynowy gotowy do uruchomienia jest wynikiem działania kompilatora. Po przekształceniu kodu źródłowego na język maszynowy tworzony jest plik binarny, który może być uruchomiony na komputerze bez konieczności ponownej kompilacji. Pliki te są szybkie i efektywne, ponieważ kod został wcześniej zoptymalizowany i przetworzony na instrukcje rozumiane przez procesor. Przykłady takich plików to .exe w systemie Windows lub pliki binarne w systemach Linux. Plik maszynowy to ostateczna forma programu, gotowa do dystrybucji i użytkowania.
Plik źródłowy w języku wyższego poziomu to kod napisany przez programistę, który dopiero musi zostać przetworzony przez kompilator. Lista błędów występujących w kodzie to wynik kompilacji z błędami, ale nie jest to produkt końcowy. Zestaw instrukcji w języku pośrednim to kod generowany przez kompilatory JIT (Just-In-Time) lub maszyny wirtualne, takie jak JVM, ale nie jest to bezpośredni plik maszynowy gotowy do uruchomienia.