Program yang komputer boleh mengenali dan melaksanakan secara langsung ialah program bahasa mesin. Bahasa mesin ialah bahasa komputer peringkat rendah yang dilaksanakan secara langsung oleh perkakasan komputer. Ia menggunakan kod binari (0s dan 1s) untuk mewakili arahan dan data, termasuk opcode, daftar, alamat memori, dsb. Program bahasa mesin dilaksanakan secara langsung pada unit pemprosesan pusat (CPU) komputer.
Walau bagaimanapun, menulis dan memahami program bahasa mesin adalah sukar dan membosankan bagi kebanyakan orang. Oleh itu, pembangunan bahasa peringkat tinggi telah membolehkan pengaturcara menulis program menggunakan lebih banyak kod yang boleh dibaca manusia. Bahasa peringkat tinggi (seperti C, Java, Python, dll.) memerlukan pengkompil atau penterjemah untuk menukar kod sumber kepada kod bahasa mesin supaya komputer boleh melaksanakannya secara langsung. Jadi, dari sudut praktikal, kebanyakan program ditulis dalam bahasa peringkat tinggi dan ditukar melalui proses penyusunan atau tafsiran kepada program bahasa mesin yang boleh dilaksanakan oleh komputer.