Наиболее элементарным языком является машинный язык, в котором программы представляются с помощью двоичных кодов машинных команд и элементов данных (байтов или слов). Программы на машинном языке для конкретной ЭВМ могут быть выполнены на ней без использования какой- либо другой программы. Однако программирование на машинном языке является трудоемким, и поэтому программы обычно пишутся на языке, имеющем более символическую и стилизованную форму. Простейшими являются языки ассемблера.
Проблемно – ориентированные языки, такие как Фортран, ПЛ-1, Кобол, Алгол и другие, часто называются языками высокого уровня, т.к. они имеют широкий набор операционных средств и управляющих операторов, которые существенно превосходят основные типы команд в языках ассемблера. Программы, написанные на любом из языков, имеющих более высокий уровень, чем машинный, называется исходной программой.
Исходные программы транслируются в программы на машинном языке с помощью системных программ, называемых трансляторами. Для языков ассемблера эти трансляторы называются ассемблерами. Когда исходная программа представлена на языке высокого уровня, транслятор называется компилятором. Результат процесса трансляции называется объектной программой. В простейшем случае она получается на машинном языке; она может быть загружена в оперативную память и выполнена сразу.