Все языки программирования делятся на компилируемые и/или интерпретируемые.
Компилируемые языки (C++, Go, Pascal, Rust) с помощью специальной программы (компилятор) преобразуют (компилируют) исходный код в набор инструкций для процессора (машинный код) с последующим записыванием в исполняемый файл.
Рассмотрим преимущества и недостатки:
+ программа выполняется быстрее за счет готовых машинных инструкций;
+ программа не требует для выполнения дополнительных программ, так как мы запускаем исполняемый файл;
— требуются специальные инструменты (компилятор) для создания исполняемого кода;
— при каждом изменении кода программы требуется перекомпиляция, что накладывает дополнительные расходы(время, ресурсы компьютера) при разработке;
— скомпилированная программа(исполняемый файл) может выполняться только на том же типе компьютеров на каком он был скомпилирован. Для того, чтобы создать исполняемый файл для компьютера другого типа, требуется новая компиляция.
Для интерпретируемых языков программирования (Python, JavaScript, PHP, Ruby), интерпретатор непосредственно выполняет код программы без предварительного перевода. При этом программа остается на исходном языке и не может быть запущена без интерпретатора. Интерпретатор переводит на машинный язык прямо во время исполнения программы.
Рассмотрим преимущества и недостатки:
+ программы можно запускать сразу же после изменения, что значительно облегчает разработку;
+ программа может быть запущена на разных типах машин и операционных систем без дополнительных усилий;
+ не требуют специальных инструментов(компиляторов);
— программы выполняются значительно медленнее, чем компилируемые;
— не могут выполняться без дополнительной программы-интерпретатора.
На каким языках программирования пишите программы?
Удовлетворяет ли вашим потребностям по времени выполнения?
Напишите плюсы и минусы.
#программирование#iron_programmer#programmer#языки_программирования#компилируемыеязыки#компиляция