Что такое компилятор – описание

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

Компилятор: определение и история возникновения

Если говорить простыми словами, то под компилятором сегодня имеется в виду программа, которая преобразует текст программы, написанной пользователем, в определенную форму, пригодную для выполнения на вычислительной машине. Такие программы появились одновременно с зарождением первых языков программирования. Это произошло еще в конце 50-х годов. Получается, что история, связанная с языками программирования и компиляторами, насчитывает уже более 60 лет. Данное направление компьютерной науки, несмотря на столь серьезный срок, нельзя назвать устоявшимся или устаревшим. Наоборот, с ходом времени, появлением новых задач и отраслей, для решения которых используются персональные компьютеры, появляется необходимость в разработке новых, более удобных языков программирования. Для этих языков соответственно и требуются компиляторы. Свои разработки существуют для каждой платформы.

Компилятор: принцип работы

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

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

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

Компилятор и класс

Многие из вас наверняка слышали о таких языках программирования, как C++ и C. Это одни из наиболее распространенных и популярных языков. Такие серьезные языки программирования содержат мощные понятия, которые удобны для отображения понятий прикладных областей. Там, к примеру, присутствует такое понятие, как классы и функции. Они являются основополагающими для многих языков программирования, но для C++ они особенно характерны. Программисту намного удобнее будет создавать модели при помощи таких понятий. Компилятор C для любой операционной системы дает возможность отобразить такие высокоуровневые вещи в понятной для компьютера форме. Тогда компьютер легко сможет ими манипулировать. Любая вычислительная машина, какой бы сложной она не была, оперирует простыми понятиями. Однако понятие класса можно назвать трудным, поскольку с его помощью удобно отражать многие объекты реальной жизни. Задача компилятора заключается в том, чтобы превращать сложные понятия в примитивные.

Разработка компиляторов

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *