Опубликовано: 2018-02-13 08:00:00
Интерпретаторы и компиляторы
Языки программирования высокого уровня это своего рода посредники в общении между человеком и компьютером. Переводом задуманного человеком алгоритма с языка программирования на язык машинных кодов занимаются программы-трансляторы.
Трансляторы, в свою очередь, тоже делятся на две большие группы:
- Интерпретаторы;
- Компиляторы.
Компиляторы сначала переводят всю программу, написанную на алгоритмическом языке, в машинные коды, и после этого очень быстро исполняют ее.
Быстрота выполнения – это плюс компиляторов, но они требуют довольно большой предварительной работы. Мы сможем увидеть результат выполнения программы только после успешной компиляции – перевода, а на этом этапе программа-компилятор обычно требует устранить все синтаксические ошибки. Поэтому невозможность видеть промежуточные результаты – это небольшой минус компиляторов.
Интерпретаторы покомандно переводят алгоритм с языка программирования на язык машинных кодов и тут же исполняют каждую переведенную команду. В случае допущенной ошибки, программа-интерпретатор прекращает работу и просит исправить неверную конструкцию.
Достоинство интерпретаторов – это возможность видеть промежуточные результаты выполнения алгоритма и по ходу дела вносить в исполняемый алгоритм изменения. Недостаток – гораздо более медленная работа по сравнению с компиляторами.
Для большего понимания я бы сравнил процесс трансляции с процессом перевода текста с иностранного языка на русский. Компиляция – это письменный перевод, когда я получаю текст и целиком его перевожу, чтобы затем, уже на иностранном, его довольно быстро изложить. Интерпретация – это синхронный перевод, когда я после каждой произнесенной фразы ее перевожу.