Що таке компілятор - опис
Якщо ви тільки починаєте вивчати програмування або ж просто цікавилися цим питанням, напевно вам на очі потрапляло таємниче слово «компілятор». Це на вигляд страшне поняття здатне відлякати людей. У даній статті постараємося розібратися, чи так все жахливо. Що таке компілятор?
Відео: Основи програмування: Компілятор і інтерпретатор
Визначення та історія появи
Якщо говорити простими словами, то компілятором є програма, яка перетворює текст програми, написаної користувачем, в деяку форму, яка придатна для виконання на обчислювальній машині.
З`явилися такі програми разом із зародженням перших мов програмування. Сталося це в кінці 50-х років. Виходить, що історія, яка пов`язана з компіляторами і мовами програмування налічує вже понад шість десятків років. Незважаючи на такий серйозний термін, даний напрямок комп`ютерної науки ні в якому разі не можна назвати застарілим або усталеним. Навпаки, з ходом часу, з появою нових галузей і завдань, для вирішення яких застосовуються комп`ютери, виникає потреба в розробці нових, більш зручних мов програмування. Відповідно, для цих мов потрібні компілятори. Windows, Linux, MacOS - для кожної платформи існують свої розробки.
Принцип роботи
Оригінальний текст, написаний розробником на мові високого рівня, перетворюється в програму на спеціальному машинному мовою. Отриманий код називається виконуваною програмою. Її можна встановлювати і запускати на будь-якому комп`ютері, не роблячи більше ніяких перетворень.
Просто, але складно
За традицією, компілятори в інформатиці є однією з базових речей разом з операційними системами, а також базами даних. Що таке компілятор? Це в якомусь сенсі базис комп`ютерної науки.
З іншої точки зору, сама тема створення таких програм має на увазі велику кількість теоретичних і технологічних аспектів, які пов`язані з програмуванням. Багато розробники вважають, що ця тема взагалі є найпривабливішою у всій інформатики. Коли програміст розробляє якусь програму, яка вирішує якусь завдання, він пише її на певній мові. В процесі розробки він оперує термінами, близькими саме до тієї області, з якою доводиться мати справу. Комп`ютер зовсім не розуміє того, що йому говорить людина. Він здатний розібратися лише в досить простих речах, до яких можна віднести числа і змінні, осередки і регістри, постійну і тимчасову пам`ять. Що таке компілятор? Це програма, завдання якої - переклад понять, близьких до предметної області розробника в поняття, якими здатний маніпулювати комп`ютер.
Саме таким завданням займається компілятор Java або будь-якого іншого мови програмування. З кожною появою нової мови виникає потреба в перекладі коду, написаного на ньому, в той вид, який зможе зрозуміти комп`ютер. Інакше він її не виконає. Адже завжди присутній семантичний зазор між поняттями людини і комп`ютера. Саме для його подолання і призначені компілятори мови програмування.
Труднощі в створенні
Творці таких програм стикаються з найрізноманітнішими проблемами. Це і наукові проблеми, які пов`язані з правильним відображенням понять прикладної області. Це і інженерні, і технологічні проблеми, пов`язані з реалізацією цього самого відображення.
Відео: 49. Знайомство з директивами і арифметичними операціями компілятора mpasm (Урок 41. Теорія)
Завдання створення компілятора складається з безлічі різнорідних підзадач. Це складна, але дуже захоплююча галузь, якій присвячують життя багато програмістів. І не шкодують.
Клас і компілятор
Напевно, багато хто чув про таких мовах, як C і C ++. Адже вони є одними з найбільш популярних і поширених. Це дуже серйозні мови програмування, що містять потужні поняття, які зручні для того, щоб відображати поняття прикладних областей, в сфері яких трудяться розробники. Наприклад, є там поняття класів, функцій. Вони є основними для багатьох мов, але для C ++ вони особливо характерні.
Відео: Установка компілятора g ++ (для C ++) і IDE Geany в Windows
Програмісту набагато зручніше створювати моделі за допомогою таких понять. компілятор C для Windows або іншої операційної системи допомагає відобразити такі високорівневі речі в формі, яку зрозуміє комп`ютер. Тільки тоді він зможе ними маніпулювати.
Будь-яка обчислювальна машина, якою б потужною і складною вона не була, оперує дуже простими поняттями. Але поняття класу є важким, так як з його допомогою дуже зручно відображати багато речей з реального життя. Компілятор складні поняття перетворює в примітивні.
Розробка компіляторів як робота
В останні роки простежується тенденція, коли будь-яка велика компанія, пов`язана з інформаційними технологіями, випускає свою власну мову програмування, який потім просувається в широкі маси розробників.
Звичайно, для кожної мови необхідний компілятор. І фірми, як правило, створюють їх разом з мовами. Але існує також і велике число самостійних програмістів і фірм, які з тих чи інших причин хочуть мати власні компілятори для мов або вони розробляють нові мови і, відповідно, компілятори до них. Можна з упевненістю стверджувати, що фахівець, який присвятив себе цій сфері, точно не залишиться без роботи.
Таким чином, тепер вам повинно бути зрозуміло, що таке компілятор. Це програма-перекладач між розробником і комп`ютером, без якої в сфері комп`ютерної науки нікуди.