языки НИЗКОГО уровня -
машинные языки и язык Ассемблера;
ВЫСОКОГО уровня - все процедурные языки,
СВЕРХВЫСОКОГО уровня - декларативные языки (при решении задач
на этих языках от программиста требуется
описать, ЧТО надо сделать, а не КАК это
следует делать)
Компьютер, как исполнитель алгоритма, "понимает" только машинный язык. Программы на языках низкого уровня имеют достаточно сложный алгоритм и могут состоять из сотен, тысяч и десятков тысяч команд.
Языки программирования высокого уровня занимают промежуточное положение между нормальным человеческим языком и машинным языком. По наглядности и компактности записи алгоритмов эти языки сравнимы с языком математики.
Компьютер не может выполнять команды языка высокого уровня - он его не понимает!
Поэтому существуют специальные программы, которые переводят команды языка высокого уровня на машинный язык. Такие программы-переводчики называют ТРАНСЛЯТОРАМИ.
Трансляторы подразделяются на ИНТЕРПРЕТАТОРЫ и КОМПИЛЯТОРЫ. Интерпретаторы можно уподобить переводчикам-синхронистам, а компиляторы – переводчикам книг.
Трансляторы |
|
Интерпретатор (Бейсик) | Компилятор (Паскаль) |
Команды
исходной программы последовательно (одна
за другой) переводятся на машинный язык
и компьютер тут же их выполняет.
+ : позволяет начать выполнение даже не полностью законченной программы. - : выполнение программы происходит медленнее, чем в режиме компиляции; не проверяется взаимосогласованность всех частей программы. |
Все
команды исходной программы сначала
переводятся на машинный язык, а затем
полученная машинная программа
выполняется компьютером.
+ : проверяется не только правильность отдельных операторов (команд), но и согласованность их между собой. - : нельзя начать выполнение незаконченной программы; невозможно видеть промежуточные результаты |