Компьютер является универсальным устройством, который предназначен для исполнения сложных алгоритмов посредством различных языков программирования. Для перевода языка программирования в машинный код используются специальная программа или техническое средство - компилятор. Входной информацией для компилятора (исходный код) является описание алгоритма или программа на предметно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код).