пятница, 3 августа 2012 г.

Компиляция/Интерпретация

Компиляция


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

Компилятор только преобразует исходный код в машинный. Исполняет программу (уже преобразованную компилятором) центральный процессор (т.е. ОС).

Компилируемый язык программирования - язык программирования, исходный код которого преобразуется компилятором в машинный код и исполняется операционной системой.
EX - Ada, Basic, C, Fortran (прим., разделение условно, практически для любого языка может быть создан и компилятор, и интерпретатор)
Недостатки:
  • зависимость от ОС
  • при внесении изменений требуется перекомпиляция кода

Достоинства:
  • быстрота
  • компактность
  • чаще всего используются для часто используемых программ

Интерпретация


Интерпретация- пооператорный анализ, обработка и исполнение программы или запроса.

Интерпретируемый язык программирования - язык программирования, в котором исходный код программы не преобразовывается в машинный код для непосредственного выполнения центральным процессором, а исполняется с помощью специальной программы-интерпретатора.
EX - Phyton, Perl, Matlab, Mathcad
 Недостатки:
  • необходима программа - интерпретатор
  • медленнее компилируемых программ

Достоинства:
  • компактность
  • НЕзависимость от ОС (переносимость)
  • при внесении изменений НЕ требуется перекомпиляция кода
  • чаще всего используются для сложных одноразовых программ (пр, некоторые вычисления)

Компиляция - интерпретация

Некоторые языки, например, Java и C#, находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной.
Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# — Common Language Runtime.

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

 Недостатки:
  • необходима программа - интерпретатор
  • медленнее компилируемых программ
  • большие требования к ресурсам
  • требование корректности исходного кода (при внесении изменений требуется перекомпиляция кода)

Достоинства:
  • компактность
  • НЕзависимость от ОС (переносимость)
  • быстродействие

2 комментария:

  1. Почему везде компактность есть?

    ОтветитьУдалить
  2. «Я достаточно хваляю г-на Бенджамина за его помощь в получении ссуды на покупку нашего нового дома для нашей семьи. У Бенджамина было огромное количество информации, и он помог мне и моей семье понять, почему жилищный заем был лучшим вариантом в нашей конкретной ситуации. После переговоров с Бенджамином и нашим финансовым консультантом все согласились, что жилищный кредит был идеальным решением. Если вы также ищете какой-либо кредит, вы можете связаться с г-ном Бенджамином по электронной почте / Whatsappemail: 247officedept@gmail.com Whatsapp: + 1-989- 394-3740

    ОтветитьУдалить