процессор понимает только небольшой набор команд, которые описываются
архитектурой процессора. также архитектурой описываются среда исполнения команд, наличие и размерность регистров, способы доступа к памяти и прочим внешним устройствам.
поток команд исполняемых процессором с трудом понимает человек-програмист. лет эдак много назад были програмисты, могущие написать алгоритм в командах проуцессора.
но сейчас этот уровень разумности практически исчез и его знают считанные сотни людей, создающие либо процы либо компиляторы к ним.
для адекватного понимания и редактирования программы пишут на языках, которые специально созданы для "человека" :)
для исполнения в процессоре программы из "человеческого языка" компилируют в исполняемый двоичный код.
компиятор тоже написан на "человеческом языке" и потом скомпилирован в исполняемый файл.