Компилируемые и интерпретируемые языки



Понятия компиляция и интерпретация являются основой работы языков программирования. Языки программирования в общем подходе делятся на 2 класса – компилируемые и интерпретируемые. Стоит отметить, что эта классификация языков программирования весьма условна, так как для любого языка может быть создан как компилятор, так и интерпретатор. Кроме того, бывают языки смешанного типа.

Компилируемый язык — это такой язык, что программа, будучи скомпилированной, содержит инструкции целевой машины; этот машинный код непонятен людям.

Интерпретируемый язык — это такой, в котором инструкции не исполняются целевой машиной, а считываются и исполняются другой программой (которая обычно написана на языке целевой машины).

Программа на компилируемом языке с помощью компилятора преобразуется (компилируется) в набор инструкций для данного типа процессора (машинный код) и далее записывается в исполняемый файл, который может быть запущен на выполнение как отдельная программа. Другими словами, компилятор переводит программу с языка высокого уровня на низкоуровневый язык, понятный процессору сразу и целиком, создавая при этом отдельную программу

Если программа написана на интерпретируемом языке, то интерпретатор непосредственно выполняет (интерпретирует) ее текст без предварительного перевода. При этом программа остается на исходном языке и не может быть запущена без интерпретатора. Можно сказать, что процессор компьютера — это интерпретатор машинного кода. Кратко говоря, интерпретатор переводит на машинный язык прямо во время исполнения программы.

Плюсы и минусы компиляции и интерпретации

Как у компиляции, так и у интерпретации есть свои плюсы и минусы.

В большинстве случаев интерпретируемая программа работает намного медленнее, чем скомпилированная программа, но не требует затрат на компиляцию, что в случае небольших программ может повышать общую производительность. Интерпретация связана с получением переменными значений в процессе работы программы.

Как правило, скомпилированные программы выполняются быстрее и не требуют для выполнения дополнительных программ, так как уже переведены на машинный язык. Вместе с тем при каждом изменении текста программы требуется ее перекомпиляция, что создает трудности при разработке. Кроме того, скомпилированная программа может выполняться только на том же типе компьютеров и, как правило, под той же операционной системой, на которую был рассчитан компилятор. Чтобы создать исполняемый файл для машины другого типа, требуется новая компиляция.

Компилируемые языки обычно позволяют получить более быструю и, возможно, более компактную программу, и поэтому применяются для создания часто используемых программ.

Программы на интерпретируемых языках можно запускать сразу же после изменения, что облегчает разработку. Программа на интерпретируемом языке может быть зачастую запущена на разных типах машин и операционных систем без дополнительных усилий. Однако интерпретируемые программы выполняются заметно медленнее, чем компилируемые, кроме того, они не могут выполняться без дополнительной программы-интерпретатора.

Примерами компилируемых языков являются Pascal, C, C++, Erlang, Haskell, Rust, Go, Ada. Примерами интерпретируемых языков являются PHP, Perl, Ruby, Python, JavaScript. К интерпретируемым языкам также можно отнести все скриптовые языки.

 


Заключение

В заключение своей проделанной работы хочу сказать, что мне удалось выполнить свою задачу: объяснить сложные термины на понятном уровне. Лично мне в результате удалось разъяснить для себя сложные моменты. Надеюсь, что моя работа смогла кому-либо помочь.
Список использованной литературы

Электронные ресурсы:

1. http://old.kpfu.ru/student/t/geoekol/progr.doc

2. https://foxford.ru/wiki/informatika/sintaksis-semantika-i-pragmatika

3. https://learn-code.ru/blog/chto-takoe-kompilyator-interpretator-translyator

4. http://itmentor.by/articles/kompiliruemye-i-interpretiruemye-yazyki-programmirovaniya

5. https://studme.org/129415/literatura/osobennosti_nauchno_populyarnogo_podstilya

6. https://techrocks.ru/2018/11/07/low-middle-high-level-programming-languages/

7. https://promo.ingate.ru/seo-wikipedia/jazyk-scenariev/

 


Дата добавления: 2020-11-23; просмотров: 183; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!