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

Компилятор против интерпретатора. Изучите основные различия между компилятором и интерпретатором. Знать, как исходный код преобразует в машинный код и байт-код.

A+ A-

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

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

Что такое компилятор?

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

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

Проблема заключается в том, что мы не знакомы с бинарными и компьютеры найти наши языки слишком трудно понять. Чтобы обойти эту проблему, средний путь промежуточного языка используется для передачи команд человека к компьютерам. Этот промежуточный язык называется - язык программирования.

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

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

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

Исходный код и код сборки.

Исходный код и код сборки.

Следующие видео далее поможет вам в понимании концепции и работы компилятора:

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

Теперь мы уже знаем, что делает компилятор. Задача переводчика также более или менее то же самое, но переводчик работает в другой манере. Различие между функционированием компилятором и интерпретатором будет видно из таблицы сравнения приведены ниже:

# составитель переводчик
1 Компилятор работает по полной программе сразу. Она занимает всю программу в качестве входных данных. Интерпретатор программу построчно-лайн работы. Он принимает одно заявление в то время , в качестве входных данных.
2 Компилятор генерирует промежуточный код, называемый O код или ▪ Таблица машинный код. Переводчик не генерирует промежуточный код объекта или машинный код.
3 Компилятор выполняет условные операторы управления (например , если- то еще и переключить регистр) и логические конструкции быстрее , чем интерпретатор. Интерпретатор выполнить условные операторы управления с гораздо меньшей скоростью.
4 Составитель программы занимают больше памяти , потому что весь код объект должен находиться в памяти. Интерпретатор не генерирует промежуточный код объекта. В результате, интерпретируемые программы являются более эффективными памяти.
5 Компиляция один раз и запустить в любое время. Составитель программы не нужно компилировать каждый раз. Интерпретированные программы интерпретируются линию за линией каждый раз, когда они работают.
6 Ошибки выводятся после того, как вся программа проверяется на наличие синтаксических и других ошибок. Ошибка сообщается, как только встречается первая ошибка. Остальная часть программы не будет проверяться, пока не будет устранена существующая ошибка.
7 Компилируемый язык является более трудным для отладки. Отладка легко, потому что интерпретатор останавливается и сообщает об ошибках, как он сталкивается с ними.
8 Компилятор не позволяет программе работать, пока он не будет полностью без ошибок. Переводчик запускает программу с первой строки и останавливает выполнение, только если он сталкивается с ошибкой.
9 Составитель языки являются более эффективными, но трудно для отладки. Интерпретируемые языки являются менее эффективными, но легче для отладки. Это делает такие языки идеальный выбор для новых студентов.
10 Примеры языков программирования , которые используют компиляторы: C, C ++, COBOL Примеры языков программирования , которые используют переводчиков: Basic, Visual Basic, Python, Ruby, PHP, Perl, MATLAB, лисповские

Следующее изображение показывает, как различные языки либо транслируемым или интерпретируемым:

Разница между компилятором и интерпретатором.

Разница между компилятором и интерпретатором.

Разница между компилятором и интерпретатором

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

Для сравнения, интерпретатор представляет собой более удобную для человеческого восприятия программа. Он работает совсем немного похожи на людей работы. Она начинается выполнение программы прямо на первой линии, и будет продолжать показывать вам результат программы, пока она не выйдет ошибочной строки кода. В результате, для программиста намного легче найти ошибку , и понять природу ошибки. Тем не менее, переводчик медленно. Интерпретируемый программы получает интерпретированы каждый раз, когда он работает.

Java является как Составитель и интерпретируемый язык

Ах! Java является удивительным языком программирования. Разработанный первоначально Джеймсом Гослинг, этот язык охватывает несколько инновационных возможностей. Одной из таких особенностей является Java Virtual Machine (JVM). Кроме того, Java является как скомпилирован и интерпретируемый язык. Когда вы пишете программу на Java, то компилятор Javac преобразует вашу программу в нечто , называемое байт - кода. Все программы Java выполняются внутри виртуальной машины Java (это тайна за Java будучи языком кросс-платформенной). Bytecode составленный JAVAC, входит в память виртуальной машины Java и там интерпретируется другой программой под названием Java. Эта программа Java интерпретирует байткодом линию за линией и преобразует его в машинный код для запуска с помощью виртуальной машины Java. Следующая блок-схема показывает, как программа Java выполняет.

Выполнение программы Java. Java является как скомпилирован и интерпретируемый язык.

Выполнение программы Java. Java является как скомпилирован и интерпретируемый язык.

Я надеюсь, что эта статья помогла вам в понимании концепции компилятора и интерпретатора. Если у вас есть какие-либо дополнительные вопросы о различиях между компилятором и интерпретатором, пожалуйста, не стесняйтесь комментировать и спросить меня. Я, безусловно, постараемся помочь вам. Благодарим Вас за использование TechWelkin!

Ads

Поделиться

последний

Лучшие альтернативы Ubuntu искать, если вы Linux Lover

Давайте начнем знакомство с чем-то; простой, но немного не ...

Как добавить подпись в Gmail Входящие - Добавить подпись Google в Gmail

Входящие с помощью Google была одна из лучших вещей, которы...

Еженедельно Tech News: Nokia, Google и Nintendo

Привет всем, это Пятница, 3 марта, и так же, как всегда, мы...

Raspberry Pi Проекты для начинающих - Что вы можете сделать с Raspberry Pi

Raspberry Pi представляет собой серию малой мощности, одноп...

Лучший VPN для Android 2017 года - Как использовать VPN в Android

Прошли те дни, когда виртуальные частные сети были только д...

Комментарии