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