Поняття про мови програмування


Що таке програма і коли з'явилося це поняття? Нині, мабуть, не кожен програміст відповість на це запитання. Історія програм починається в далеких 20-х роках XIX століття, коли англійський дослідник Ч. Бебідж висунув ідею про попередній запис дій обчислювальної машини.
До появи обчислювальних машин робилися спроби керувати ткацькими верстатами. Програми для вер­статів записувалися на перфокарти, що були вигадані Чарлзом Бебіджем і французьким винахідником Жозефом Жаккаром. З них почалася історія програмування, а трохи пізніше почали закладатися теоретичні основи цієї науки. Разом з Бебіджем працювала його сучасниця
Ада Лавлейс (дочка великого англійського поета Джорджа Байрона), яку називають першим у світі про­грамістом. Вона ввела до програмування терміни і по­няття, які застосовуються і донині (наприклад, поняття циклу - найважливішої структури будь-якої сучасної мови програмування). На честь першої програмісти була названа мова програмування «Ада», розроблена уже за наших часів.
У XX столітті з'явилися електронні обчислювальні машини. Перші програми для них записувалися в машинних кодах. Для написання правильної програми програміст мав детально уявляти роботу ЕОМ. Це дуже ускладнювало спілкування людини з комп'ютером, тому вони стали серйозно замислюватися над кодуванням програм і дійшли висновку, що програма має складатися мовою, доступнішою для людини, ніж мова машинних команд. Тому необхідно було створити мови програмування.
 Мова програмування - це штучна мова для написання команд, вико­нуваних обчислювальною машиною. Мова програмування складається з фіксованого словника і сукупності правил (синтаксису) написання команд.
Оскільки мова програмування незрозуміла для обчислювальної машини, має бути спеціальна програма, яка перекладала б символи цієї мови мовою машинних команд. Така програма перекладу символів, або, простіше, транслятор (від англійського слова translation - переклад), була створена на початку 50-х років XX століття аме­риканською програмісткою, контрадміралом морських сил США Грейс Хопер.
Транслятор - це програма, яка перетворює команди мови програму­вання на машинний код.
З винаходом трансляторів роль машинних команд у програмуванні різко зменшилася. Перші транслятори призначалися для мов Асемблера (мов низь­кого рівня). У 50 - 60-ті роки почали створюватися мови програмування висо­кого рівня. Зазначимо, що близькі до числового коду процесора мови називають мовами низького рівня, а мови, зручні для людини, - мовами високого рівня. Мова найнижчого рівня - мова машинного кодування. Трохи вище - мова Асемблера, у якій машинні команди замінюються мнемонічними скороченнями. Всі інші мови програмування є мовами вищого, ніж мова Асемблера, рівня. Дві популярні нині мови високого рівня - Basic (Бейсік) і Pascal (Паскаль).
Програма записується в текстовому редакторі мовою програмування і на­зивається вихідним кодом (текстом). Він складається зі спеціальних команд - операторів мови програмування. За допомогою перекладача-транслятора вихід­ний код програми перетвориться на машинний код. Під час виконання програми комп'ютер діє так, як йому запропоновано заздалегідь.
Процес складання програм називається програмуванням. Програмування нині стало самостійною науковою дисципліною, його вивчають у школах, ко­леджах, вищих закладах освіти.

Компілятори та інтерпретатори
Отже, для перекладу тексту програми на мову, зрозумілу для комп'ютера, має існувати окрема програмна оболонка - транслятор. Транслятори бувають двох видів: компілятори й інтерпретатори. Компілятор перетворює вихідний код програми на машинну мову, тобто мову нулів і одиниць. До одержаного коду підключаються стандартні процедури, використані програмістом, вна­слідок чого з'являється робоча програма - її називають робочим кодом. Файли таких програм мають розширення .ехе чи .com і є машинним кодом.
Інший різновид трансляторів, які використовуються в практиці програмування, - це інтерпретатори. Інтерпретатори обробляють текст не заздалегідь, а безпосередньо під час виконання програми. Інтерпретатори є програмами-посередниками, які читають команди з файла і перекладають їх на мову процесора під час виконання програми.
Щоб краще зрозуміти відмінність між компілятором і інтерпретатором, на­ведемо порівняння. Робота програми компілятора схожа на роботу літератур­ного перекладача, що спочатку читає текст, аналізує його, а потім виконує переклад. Роботу програми інтерпретатора можна порівняти з роботою синх­ронного перекладача, який перекладає відразу під час озвучення тексту. Зрозу­міло, що літературний переклад буде якіснішим, ніж синхронний. Аналогічно код, отриманий під час компіляції, буде компактнішим і ефективнішим, ніж код інтерпретатора. Як наслідок, відкомпільовані програми можуть працювати в десятки разів швидше, ніж виконувані під керуванням інтерпретатора. Крім того, компілятори під час своєї роботи займають меншу частину ресурсів ком­п'ютера.
Отже, компілятори - ефективніші перекладачі програм. Тому всі прикладні та службові програми поставляються у відкомпільованому вигляді. Мови, для яких існують програми-компілятори, - це компільовані мови Pascal, C++, Delphi, Fortran тощо.
Коли час виконання програми не занадто критичний, наприклад під час нав­чання і виконання приватних завдань, зручно використовувати інтерпретовану мову. Найпростіша і найпоширеніша з них - мова програмування Basic. Іншими прикладами є інтерпретовані мови JavaScript і VBScript, які широко застосовуються під час створення Web-сторінок, доступних через Інтернет.


Інтегроване середовище програмування
Сучасні мови програмування - це не тільки мова програмування з ком­пілятором. Мови програмування як програмні продукти комплектуються інстру­ментами для створення програм. Такий комплект називається інтегрованим середовищем програмування. Він призначений не тільки для полегшення процесу складання програм, а й для професійної розробки додатків. До складу інтегро­ваного середовища програмування входять, як правило, такі інструменти:
-  текстовий редактор для набору і редагування програми;
-  мова програмування з компілятором;
-  компонувальник;
-  система усунення синтаксичних помилок; покроковий наладчик;
-  бібліотека готових програмних модулів;
-  довідкова система з питань розробки програм у даному середовищі.
Прикладами інтегрованих середовищ програмування є Turbo Pascal, Delphi, Visual Basic і безліч інших. Використання цих середовищ під час розробки додатків дозволяє користувачам докладати набагато менше зусиль, ніж при написанні програм мовами низького рівня.
Створення програми починається зі складання алгоритму, орієнтованого на певне інтегроване середовище програмування. Алгоритм перекладається на мову програми і вводиться з клавіатури у вікно текстового редактора. Після набору тексту з клавіатури і виправлення помилок потрібно відправити програму «на рахунок». При цьому буде автоматично запущено ще один засіб середовища програмування - наладчик (англійською мовою - debugger). Він перевірить текст щодо синтаксису, запропонує вам виправити знайдені помилки. Програміст за допомогою наладчика може також переглянути і змінити вміст комірок пам'яті комп'ютера.
Налагоджену програму можна запускати на виконання. Перекладатиме текст програми машинною мовою відомий уже вам засіб - транслятор. Йому допомагатиме компонувальник (linker), завданням якого є пошук і компонування розрізнених модулів і бібліотек, необхідних для виконання програми.
Інтегроване середовище програмування забезпечує діалогову взаємодію з користувачем на всіх етапах складання і виконання програми. Середовище програмування сконструйоване так, щоб користувачу були доступні всі мож­ливі інструменти програмування і він почувався комфортно. Інтегроване сере­довище програмування називають також інструментальною оболонкою.

Алфавіт і синтаксис мови програмування
Користувач може легко працювати з мовами програмування високого рівня завдяки їхній схожості з природними мовами спілкування. Насамперед, у мовах програмування використовується майже той самий алфавіт, наприклад, латин­ські літери a, b,… z і арабські цифри 0,1,… 9. Багато слів схожі на команди, що надаються машині: PRINT («друкуй»), DO («зроби»), READ («читай»), INPUT («уведи») тощо. Відмінність мов програмування від природної мови в тому, що кількість можливих слів значно менша, ніж у природній мові, і слова можуть уживатися лише у певній формі й сполученнях.
Отже, мови програмування мають свій алфавіт і фіксований словник, а також певні правила (синтаксис), які використовуються під час написання команд. Алфавіт складається звичайно з латинських літер, наприклад, у Бейсіку всі літери великі (А, B,…Z), а в Паскалі можливе використання як малих (a, b,… z), так і великих літер. До алфавіту обов'язково входять цифри 0,1,… 9, знаки ариф­метичних операцій (+, - тощо), знаки логічних операцій (not, and, or тощо), знаки операцій порівняння (=,<,> тощо), а також спеціальні символи (дужки, роздільники тощо).
Синтаксис - це система правил, за якими із символів створюються конструкції мови програмування.
Саме слово "синтаксис" походить від грецького συνταξιζ (будівля) і означає пра­вила будови компонентів мови: слів, операторів, команд. Наприклад, символи в слові не можна випускати або міняти місцями. Якщо ви напишете службове слово begin як begn або beign, це вважатиметься помилкою.

Комментариев нет:

Отправить комментарий