Системы программирования – это совокупность различного рода программ, которые используются для автоматизации процесса программирования сценариев работы электронных вычислительных машин (ЭВМ).
Основная задача систем программирования – это автоматическая трансляция (перевод) текста сценария программы с входного языка высокого уровня на язык, понятный ЭВМ (язык программирования).
Язык программирования – это строго определенный набор правил, характеризующий систему алгоритмов, лежащих в основе составляемой программы.
Реализация языка программирования (транслятор) – это системная программа, которая переводит (транслирует) записи на языке высокого уровня в последовательность машинных команд, понятных ЭВМ.
Существуют два основных транслятора языка программирования – интерпретаторы и компиляторы.
Интерпретаторы последовательно анализируют по одному оператору программы, превращая при этом каждую синтаксическую конструкцию, записанную на языке высокого уровня, в машинные коды и выполняя их построчно.
Компиляторы переводят текст программы, написанной на языке высокого уровня, в машинные коды в ходе непрерывного процесса, создавая, таким образом, конечную программу, которую затем ЭВМ выполняет целиком без участия компилятора.
Все существующие системы программирования делятся на машинно–ориентированные и машинно–независимые системы.
Машинно–ориентированные системы – это системы, в которых язык программирования, наборы операторов и изобразительные средства существенно зависят от особенностей архитектуры компьютера. Машинно–ориентированные системы используют машинно–зависимые языки программирования. Недостаток машинно–ориентированных систем заключается в сложности процесса написания программы.
Машинно–ориентированные языки по степени автоматизации программирования делятся на:
1) машинные языки – это командные языки, которые имеет каждый отдельный компьютер;
2) языки символического кодирования – это языки, которые, как и машинные языки, являются командными;
3) автокоды – это языки, которые включают в себя все возможности языков символического кодирования через использование макрокоманд.
Макрокоманда – это часто использующаяся командная последовательность, соответствующая определенной процедуре преобразования информации.
Ассемблеры – это развитые автокоды;
4) макрос – это язык, который выступает средством замены определенной последовательности символов, описывающих сценарии действий ЭВМ при решении той или иной задачи, на более сжатую форму. Машинно–независимые системы – это системы, в которых используются высокоуровневые языки программирования.