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

Для того, чтобы написать программу не всегда достаточно только одного языка, например, для перевода кода с языка высокого уровня на машинный язык требуется специальная программа — транслятор. Механизм этого перевода не так прост, и тут можно выделить два способа так называемого перевода:

1. компиляция программы

2. интерпретация программы

Эти два подхода отличаются:

При компиляции весь исходный программный код сразу переводится в машинный.

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

Разница же в этих подходах к переводу в следующем:

1. Компилируемый язык программирования – это язык программирования, где исходный код преобразуется компилятором в машинный код.

Преимущества и недостатки:

<+> Высокая производительность!

<->Требуется пересборка программы, когда она изменяемся

Пример из жизни: Компилируемые языки — это готовая еда. Хорошо иметь ее под рукой, но она быстро портится.

Программы, написанные на компилируемых языках, зависят от ОС и от аппаратного оборудования.

Языки, которые относятся к компилируемым: C, C++, Golang, Rust, Delphi

2. Интерпретируемый язык программирования – это язык программирования, в котором исходный код программы не преобразовывается в машинный код для непосредственного выполнения центральным процессором (как в компилируемых языках), а исполняется с помощью специальной программы-интерпретатора.

Преимущества и недостатки:

<+>Гибкость. Кросплатформенность

<->Производительность. Требуется интерпретатор.

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

Языки, которые относятся к интерпретируемым: PHP, JavaScript, Python

#языкипрограммирования #Itrecruiter