Зачем нужны системы программирования?
Состав системы программирования
Процессор, выполняющий всю обработку данных, понимает только машинные команды (числовые коды). Чаще всего их записывают в шестнадцатеричном коде, например, так:
В82301052500
Чтобы понять, что делает этот код, нужно взять таблицу команд процессора и посмотреть, что означает каждая пара шестнадцатеричных цифр (байт).
Программы для первых компьютеров составляли именно в машинных кодах. Программирование было доступно только специалистам, отладка программы занимала очень много времени.
Человек плохо воспринимает коды, поэтому в дальнейшем для каждой машинной команды придумали символические обозначения. Например, приведённая выше программа — это две машинные команды для процессоров фирмы Intel, их можно записать так:
MOV AX,0123h
ADD AX,25h
Здесь АХ — это имя регистра (ячейки памяти) процессора, команда MOV записывает в регистр новое значение, а команда ADD добавляет число к содержимому ячейки. Буква «h» после числа означает, что оно записано в шестнадцатеричной системе счисления.
Вспомним, что процессор может выполнить только программу, написанную в машинных кодах. Поэтому возникает задача: перевести программу с такого языка в машинные коды. Для этого используют программы-ассебмлеры (англ, assembler — рабочий — сборщик), а сам язык называется языком ассемблера. Этот язык машинно-ориентированный, потому что он определяется набором команд конкретного процессора (ориентирован на машину).
Очевидно, что программировать на языке ассемблера тоже не очень удобно — нужно хорошо знать команды процессора, организацию памяти и т. п. Кроме того, каждый процессор имеет свою систему команд и свой язык ассемблера. Это значит, что программы на языке ассемблера непереносимы — программа, написанная для одного процессора, не будет работать на другом.
Людям хочется (в идеале) разговаривать с компьютером на естественном языке, не думая о том, какой процессор в нём установлен. К сожалению, пока это невозможно. Сейчас для программирования чаще всего используют компромиссный вариант — языки программирования высокого уровня, или алгоритмические языки. Это формальные языки, созданные специально для разработки программ. Команды строятся из слов естественного (чаще всего, английского) языка, каждая команда воспринимается однозначно в соответствии с установленными правилами.
Для перевода программы, написанной на языке высокого уровня, в машинные коды, применяют специальные программы — трансляторы (англ, translator — переводчик). Кроме трансляторов в системы программирования входят и другие программы, о которых будет рассказано далее.
Системы программирования — это программные средства для создания и отладки новых программ.
Следующая страница Языки программирования