Системи програмування та інструментальні середовища

Дуже специфічний вид програмного забезпечення для комп'ютера це системи програмування.

Система програмування - комплекс мовних і програмних засобів, призначених для автоматизації процесу складання, налагодження програми і підготовки її до виконання.

В даний клас програмного забезпечення входять засоби (інструментарії) для створення інших програм та програмних комплексів.

У загальному випадку, програма - це послідовність приписів (команд), записаних на мові, зрозумілій деякого виконавцю (процесору).

Мова, яка зрозуміла процесору, складається з 0 і 1. Тому програма, записана таким чином, носить назву машінногокода.

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

Системи програмування та інструментальні середовища

Загальна класифікація мов програмування

Рівні мов програмування

Рівень мови програмування визначає ступінь його віддаленості від мови процесора і наближеності до природного або формального мови, використовуваного людиною. (Чим вище рівень, тим далі він від комп'ютера і ближче до людини).

На схемі зображено склад системи програмування.

Системи програмування та інструментальні середовища

Склад системи програмування

Мова програмування - це спеціально обумовлений набір символів, слів і мнемонічних (особливим чином організованих і заздалегідь обумовлених) скорочень, що використовуються для запису набору команд (програми), які сприймаються комп'ютером.

Синтаксис мови програмування-це перелік правил записи програм з елементів цієї мови.

В даний час існує декілька сотень мов високого рівня, які отримали назву алгоритмічних мов. Кожен з цих мов має свій синтаксис і орієнтований на вирішення завдань певного класу. До найбільш популярних відносяться Basic, Pascal, C ++, Prolog.

Процесор розуміє лише мову машинних команд. Тому обов'язковим елементом будь-якої системи програмування є транслятор.

Транслятор (translator) - це програма, призначена для перекладу (трансляції) опису алгоритму з одного формального мови на іншу.

Етап трансляції коду програми є обов'язковим.

Етап перетворення програми, написаної на мові високого рівня, в машинний код реалізується в двох варіантах.

1. У першому випадку транслятор бере з файлу програму на мові високого рівня і переводить в програму на машинній мові всю цілком, записуючи її в файл з розширенням obj. Програму, записану в такий файл, прийнято називати об'єктним модулем, а транслятор, який виконує такий переклад, називають компілятором. До компільовані мов відносяться мови: Паскаль, Сі, Фортран та ін.

2. У другому випадку транслятор бере з файлу з програмою на мові високого рівня по одному приписом (команді), транслює її і відразу виконує цю команду. Такий транслятор називають інтерпретатором. До інтерпретується мов відносяться: Бейсік, Пролог, Лісп і ін.

Системи програмування та інструментальні середовища

Сучасні інструментальні середовища (системи програмування), як правило, використовують компілятор. У зв'язку з цим не зайвим буде уявлення про те, як же об'єктний модуль перетворюється в виконувану програму, яка і зберігається в файлі з розширенням ЕХЕ або СОМ.

Алгоритм отримання виконуваної програми

Таким чином, системи програмування призначені для створення програм для комп'ютера і включають такі основні компоненти:

інструментальні середовища

Якщо на якомусь етапі підготовки програми була допущена помилка, все доводилося починати заново. Таким чином, налагодження програми була досить тривалим, трудомістким і виснажливим процесом.

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

Інструментальне середовище - це інтегрована система, яка дозволяє писати, редагувати, налагоджувати і запускати програми на виконання, не виходячи з самого середовища.