Разница между компилируемыми и интерпретируемыми языками
Языки программирования делятся на две группы: составлен а также интерпретируется. Скомпилированный язык кодируется человеком, затем этот исходный код переводится на язык ассемблера, так что целевая программа запускается и возвращает желаемый результат. Однако интерпретируемый язык компилируется в реальном времени при запуске, и он часто использует более простой и понятный для человека синтаксис для кодирования.
Выбор скомпилированного vs. интерпретируемый язык не должен быть важным фактором, когда вы планируете изучить новый язык программирования.
Что такое компилируемый язык?
Рассмотрим простую программу, helloworld.c, написано в Язык программирования C:
#включают
int main ()
{
printf («Привет, мир»);
}
C - пример скомпилированного языка. Чтобы запустить приведенный выше код, вы должны передать его через компилятор C - программу, которая интерпретирует ваш код для создания двоичной программы. Чтобы скомпилировать простую программу на C в Linux, используйте gcc компилятор:
gcc helloworld.c -o привет
Вышеупомянутая команда превращает код из удобочитаемого формата в машинный код, который компьютер может запускать изначально. Скомпилированная программа запускается путем выполнения имени скомпилированной программы из оболочки:
./Привет
Сильные и слабые стороны
Преимущества использования компилятора для компиляции кода заключаются в том, что конечный продукт обычно работает быстрее, чем интерпретируемый код, поскольку ему не нужно компилировать «на лету» во время работы приложения.
Скомпилированная программа была проверена на наличие ошибок при компиляции. Если есть какие-либо команды, которые не нравятся компилятору, они будут сообщены. Эта проверка ошибок помогает исправить все ошибки кодирования до того, как вы получите хорошо работающий конечный продукт.
Тот факт, что программа была успешно скомпилирована, не означает, что она будет работать так, как вы ожидаете, поэтому вам все равно необходимо протестировать свое приложение.
Однако программа C, скомпилированная на компьютере Linux, не будет работать на компьютере Windows, потому что компилятор включает необходимые инструменты для запуска приложения на определенной платформе - обычно на той платформе, на которой оно было составлен. Чтобы та же программа C работала на компьютере с Windows, необходимо снова скомпилировать программу с помощью компилятора C на компьютере с Windows.
Что такое интерпретируемый язык?
Python - популярный интерпретируемый язык.
print ("привет, мир")
Приведенный выше код представляет собой программу на Python, которая отображает слова Привет, мир когда он запущен. Для запуска кода нам не нужно сначала его компилировать. Вместо этого мы можем просто запустить следующую команду:
python helloworld.py
Или просто введите его в интерактивном интерпретаторе Python.
Эту крошечную однострочную программу не нужно сначала компилировать, но она требует, чтобы Python был установлен на любой машине, на которой выполняется сценарий. Интерпретатор Python берет читаемый человеком код и превращает его во что-то еще, прежде чем преобразовать его в то, что может прочитать машина. Все это происходит за кулисами, и, как пользователь, вы видите только слова Привет, мир распечатывается на стандартный вывод.
Сильные и слабые стороны
В общем, интерпретируемый код выполняется медленнее, чем скомпилированный, потому что интерпретатор на лету переводит программу во что-то, с чем может справиться машина.
Хотя это снижение эффективности может показаться недостатком, интерпретируемые языки полезны по нескольким причинам. Во-первых, гораздо проще получить программу, написанную на Python, для работы в Linux, Windows и macOS. Все, что вам нужно сделать, это убедиться, что Python установлен на компьютере, на котором вы хотите запустить скрипт.
Еще одно преимущество заключается в том, что код всегда доступен для чтения и его можно легко изменить, чтобы он работал так, как вы хотите. При использовании скомпилированного кода вам необходимо найти место хранения кода, изменить его, скомпилировать и повторно развернуть программу. Однако с помощью интерпретируемого кода вы открываете программу, меняете ее, и она готова к работе.