Машинно - ориентированное программирование

С изобретением программно управляемых вычислительных машин появилась новая профессия - программист. Первым в истории программистом была Ада Лавлейс, работавшая вместе с Чарльзом Беббиджем. Она разрабатывала программы управления его Аналитической машиной. Массовой профессия программиста стала только с изобретением ЭВМ.

На ламповых ЭВМ первого поколения программисты составляли свои программы, используя непосредственно команды процессора. При этом программисту приходилось распределять ячейки памяти под данные и под команды программы. Нужно было знать систему команд процессора и коды всех команд. Исходные данные и команды представлялись в форме двоичного кода, т.е. непосредственно в том виде, в котором они хранились в памяти ЭВМ. Составление и отладка таких программ было чрезвычайно трудоемким делом. Поэтому производительность работы была довольно низкой.

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

ADD a, b, c

Слово ADD обозначает команду «сложить», a и b — имена переменных-слагаемых, c — переменная, куда помещается результат.

Язык ассемблер называется машинно-ориентированным по той причине, что для каждой команды процессора существует свой аналог команды на ассемблере.
Составление программы на ассемблере проще, чем на языке команд процессора. Работу по распределению памяти под данные и команды, перевод команд ассемблера в машинные команды берет на себя специальная системная программа — транслятор.

Программирование на ассемблере является достаточно сложным для массового распространения. Это ограничивало использование ЭВМ в прикладных областях.