Что такое компилирование программы

Желающие изучить веб-программирование часто сталкиваются с таким понятием, как компилируемые языки. Информации про них в Интернете мало, говорится лишь основная суть. Но и этого минимума достаточно, чтобы разобраться. Условно все языки делятся на компилируемые и интерпретируемые. Их создали, чтобы преобразовывать код в форму, считываемую компьютером.

Эти языки очень похожи, но разница между ними существенная.

Более того, есть еще третий вид, который вобрал в себя преимущества компилятора и интерпретатора. Как правило, начинающие программисты сразу ломают голову, какой же вид выбрать для изучения. Ниже в статье мы рассмотрели особенности компилируемого языка в сравнении с другими. После ее прочтения, сомнений в выборе остаться не должно.

Что значит компилируемый язык программирования

Любой язык общения представляет собой текст, составленный из различных символов, которые известны и понятны собеседникам. Язык программирования тоже состоит из символов, чья последовательность подчиняется определенным правилам и называется кодом. С помощью кода происходит взаимодействие «человек–компьютер».

Уроки Java для начинающих #3 | Компиляция программы

Но такое общение нельзя назвать прямым: программист вводит текст (код), который преобразуются посредством определенной программы в символы. Именно такой преобразованный текст компьютер будет воспринимать как команды микропроцессора. А программа, ответственная за трансформацию кода, называется компилятором.

Компилятор является необходимым не для всех языков программирования, а только для компилируемых. Программа, созданная таким языком, требует не только написания как такового, но и прогонки через компилятор. Только после этого ее можно запускать на выполнение в виде исполняемого модуля с определенным расширением (например, для ОС Windows файл будет иметь .exe расширение).

Читайте также:
Как сделать по умолчанию открытие файлов в определенной программе

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

Преимущества и недостатки компилируемых языков

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

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

В качестве примеров компилируемых языков можно привести:

Что такое компиляция, линковка? Что такое run time?

  • процедурный язык программирования Pascal;
  • высокоуровневый язык Go;
  • функциональный язык Erlang;
  • язык программирования Ada;
  • язык функционального программирования Haskell;
  • мультипарадигмальный Rust;
  • объектно-ориентированный C;
  • статически типизированный C++.

Источник: gb.ru

Компиляция программы

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

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

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

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

Читайте также:
Как пользоваться программой statistica

Схема действия компилятора:

Схема, по которой работает компилятор, приведена на рисунке ниже:

Компиляция программы

Основные задачи компилятора:

На рисунке отмечено, что компилятор последовательно осуществляет две основные задачи:

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

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

Допустим перед нами программа, которая определяет корни квадратного уравнения. Если в этой программе допущена ошибка в каком-либо месте формулы, например при вычислении дискриминанта, то, при отсутствии синтаксических ошибок, программа в конечном счете выдаст сообщение о неверных значениях корней.

Источник: kvodo.ru

Основные принципы программирования: компилируемые и интерпретируемые языки

Обложка: Основные принципы программирования: компилируемые и интерпретируемые языки

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

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

Вступление

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru