Новини високих технологій
» » Що таке компілятор - опис

Що таке компілятор - опис

12-12-2016, 21:11
2 294
Якщо ви тільки починаєте вивчати програмування або ж просто цікавилися цим питанням, напевно вам на очі потрапляло таємниче слово «компілятор». Це з вигляду страшне поняття здатне відлякати людей. У даній статті спробуємо розібратися, чи так все жахливо. Що таке компілятор?

Визначення та історія появи

Якщо говорити простими словами, то компілятором є програма, яка перетворює текст програми, написаної користувачем, в певну форму, яка придатна для виконання на обчислювальній машині.


З'явилися такі програми разом з зародженням перших мов програмування. Сталося це в кінці 50-х років. Виходить, що історія, яка пов'язана з компіляторами і мовами програмування нараховує вже більше шести десятків років. Незважаючи на такий серйозний термін, даний напрямок комп'ютерної науки ні в якому разі не можна назвати застарілим або усталеним. Навпаки, з ходом часу, з появою нових галузей та завдань, для вирішення яких застосовуються комп'ютери, виникає потреба в розробці нових, більш зручних мов програмування. Відповідно, для цих мов потрібні компілятори. Windows, Linux, MacOS – для кожної платформи існують свої розробки.

Принцип роботи

Вихідний текст, написаний розробником на мові високого рівня, перетворюється в програму на спеціальному машинному мовою. Отриманий код називається виконуваною програмою. Її можна встановлювати і запускати на будь-якому комп'ютері, не роблячи більше ніяких перетворень.


Просто, але складно

За традицією, компілятори в інформатиці є однією з базових речей разом з операційними системами, а також базами даних. Що таке компілятор? Це в якомусь сенсі базис комп'ютерної науки. З іншої точки зору, сама тема створення таких програм передбачає велику кількість теоретичних і технологічних аспектів, які пов'язані з програмуванням. Багато розробники вважають, що ця тема взагалі є найпривабливішою у всій інформатики. Коли програміст розробляє якусь програму, яка вирішує певну задачу, він пише її на певній мові. У процесі розробки він оперує термінами, близькими саме тій області, з якою доводиться мати справу. Комп'ютер зовсім не розуміє того, що йому каже чоловік. Він здатний розібратися лише в досить простих речах, до яких можна віднести числа і змінні, клітинки та регістри, постійну та тимчасову пам'ять. Що таке компілятор? Це програма, завдання якої – переклад понять, близьких до предметної області розробника поняття, якими здатний маніпулювати комп'ютер. Саме таким завданням займається компілятор Java або будь-якого іншого мови програмування. При кожній появі нової мови виникає потреба в перекладі коду, написаного на ньому, в той вигляд, який зможе зрозуміти комп'ютер. Інакше він її не виконає. Адже завжди присутній семантичний зазор між поняттями людини і комп'ютера. Саме для його подолання і призначені компілятори мови програмування.

Труднощі у створенні

Творці таких програм стикаються з різними проблемами. Це і наукові проблеми, які пов'язані з правильним відображенням понять прикладної області. Це і інженерні і технологічні проблеми, пов'язані з реалізацією цього самого відображення. Завдання створення компілятора складається з безлічі різнорідних завдань. Це складна, але дуже захоплююча галузь, якій присвячують життя багато програмісти. І не шкодують.

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

Напевно, багато хто чули про таких мовах, як C і C++. Адже вони є одними з найбільш популярних і поширених. Це дуже серйозні мови програмування, містять потужні поняття, які зручні для того, щоб відображати поняття прикладних областей, у сфері яких працюють розробники. Наприклад, там є поняття класів, функцій. Вони є основоположними для багатьох мов, але для C++ вони особливо характерні. Програмісту набагато зручніше створювати моделі з допомогою таких понять. Компілятор C для Windows або іншої операційної системи допомагає відобразити такі високорівневі речі у формі, яку розуміє комп'ютер. Тільки тоді він зможе ними маніпулювати. Будь-яка обчислювальна машина, якою б потужною і складною вона не була, оперує дуже простими поняттями. Але поняття класу є важким, так як з його допомогою дуже зручно відображати багато речей з реального життя. Компілятор складні поняття перетворює в примітивні.

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

В останні роки простежується тенденція, коли будь-яка велика компанія, пов'язана з інформаційними технологіями, випускає свій власний мову програмування, який потім просувається в широкі маси розробників. Звичайно, для кожної мови необхідний компілятор. І фірми, як правило, створюють їх разом з мовами. Але існує також і велика кількість самостійних програмістів і фірм, які з тих чи інших причин хочуть мати власні компілятори мов або вони розробляють нові мови і, відповідно, компілятори до них. Можна з упевненістю стверджувати, що фахівець, який присвятив себе цій сфері, точно не залишиться без роботи. Таким чином, тепер вам повинно бути зрозуміло, що таке компілятор. Це програма-перекладач між розробником і комп'ютером, без якої в сфері комп'ютерної науки нікуди.
Цікаво по темі
Компілятор GCC для Windows
Компілятор GCC для Windows
З абревіатурою GCC знайомі багато людей, які пов'язані з розробкою програмного забезпечення. Це компілятор – інструмент для розробників, які є
Що таке мікрофон: опис, будова, види та відгуки
Що таке мікрофон: опис, будова, види та відгуки
Напевно, мало хто не знає, що таке мікрофон. Адже світ цих пристроїв різноманітний. Сьогоднішній ринок надає величезну кількість мікрофонів самих
Кен Томпсон – розробник операційної системи UNIX та мови C
Кен Томпсон – розробник операційної системи UNIX та мови C
Кен Томпсон – програміст від бога. Головне, що він вже зробив у житті – створення ОС UNIX та мови програмування C. За ці роботи він отримав чимало
Питання часу: як робити date format і де шукати date essence
Питання часу: як робити date format і де шукати date essence
У програмуванні реальність повинна відображатися у віртуальному просторі в потрібний час потрібним чином. Програма повинна не тільки знати, що таке
Рейтинг мов програмування 2016
Рейтинг мов програмування 2016
У сучасному світі програмування є однією з найбільш процвітаючих галузей технічного прогресу. Необхідність роботи з програмами не піддається сумніву,
Перетворення типів. Функції Round і Trunc в "Паскаль"
Перетворення типів. Функції Round і Trunc в "Паскаль"
Перетворення типів в Pascal дозволяє реалізувати більш широкий клас задач та виконувати операції над величинами різних типів.