Что такое компиляторы и интерпритаторы? Чем они отличаются?
И компиляторы и интерпретаторы преобразуют исходный код в машинный код, только разными путями.
Интерпретатор читает исходный код программы и выполняет его. Преобразование исходного кода в бинарный и выполенение выполняется построчно. Работает интерпретатор так:
Исходный код => Интерпретатор => Операционная Система => Выводим результат.
Компиляторы же, полностью переобразовывают исходный код программы в бинарный (а не построчно, как в случае с интрепретаторами), который ОС может выполнять самостоятельно. То есть, для запуска программы иметь компилятор нет необходимости. Пошаговая работа:
Исходный код => Компилятор => Объектный код => Операционная Система => Выводим результат.
Компиляриуемые языки работают значительно быстрее интерпретируемых.
Примеры компилируемых языков: С , С, Objective C
Примеры интерпретируемых языков: JavaScript, PHP (если считать его полноценным языком программирования, а не чисто скриптовым языком)
Также существуют "гибридные", компилируемо-интерпретируемые языки программирования. К таким относятсяс: C#, Java, Visual Basic