Pemrograman high-level dibagi menjadi dua, interpreted dan compiled. Interpreted diubah ke bahasa mesin dengan bantuan program lain, yaitu interpreter. Interpreter mengubah setiap statement program ke bahasa mesin dan langsung mengeksekusinya sebelum statement selanjutnya di proses. Compiled diubah ke bahasa mesin oleh compiler. Compiler mengubah semua statement program ke bahasa mesin dahulu sebelum dieksekusi, hasil proses compiler ini biasa disebut sebagai executable
Interpreted harus selalu diubah ke bahasa mesin dahulu untuk setiap pemakaiannya (running), Compiled diubah ke bahasa mesin hanya sekali dan dapat digunakan terus tanpa mengubah ke bahasa mesin lagi.