- •Тема 5. Програмне забезпечення. Моделювання. Лекція 8
- •8.1. Класифікація програмного забезпечення
- •8.2. Поняття операційної системи
- •8.3.Критерії порівняння ос
- •8.4. Стисла характеристика основних операційних систем
- •Сімейство Windows.
- •Ос сім'ї unix
- •Сім'я ос реального часу
- •8.5. Методи розробки алгоритмів і програм
- •8.6. Покоління мов програмування
- •8.7. Стисла характеристика основних мов програмування
- •8.8. Поняття моделі
- •8.10. Основні властивості будь-якої моделі:
- •8.11. Приклади побудови моделей.
8.6. Покоління мов програмування
Перші мови програмування були дуже примітивними і це були машинні коди - машинні мови, що дозволяли задавати назви команд у символічному вигляді і вказувати числа в двійковому, шістнадцятковому й десятковому форматах. Процес програмування був складним і передбачав запис програмістом усіх алгоритмів безпосередньо машинною мовою.
Першим кроком на шляху до полегшення завдань програмування була відмова від використання цифр для запису команд і операндів безпосередньо в тій формі, у якій вони використовуються в машині. З цією метою при розробці програм стали широко застосовувати мнемонічний запис різних команд замість їхнього шістнадцяткового представлення ( асемблерні мови). Програми, написані мовою асемблеру, є принципово машинно-залежними, тобто команди в цих програмах виражаються в термінах певних машинних атрибутів. Програму мовою асемблеру досить складно виконати на іншій машині, оскільки для цього її потрібно переписати з урахуванням нової конфігурації регістрів і набору команд.
З'явилася необхідність у мовах програмування високого рівня і були сформульовані вимоги до таких мов, основна з яких така: мова має бути близькою до тих фрагментів природних мов, які забезпечують конкретну предметну галузь діяльності людини.
Виходячи з такого підходу, у 60-х роках з'явилися мови програмування третього покоління, що відрізнялися від попередніх поколінь тим, що їхні мовні конструкції мали вищий рівень і були машинно-незалежними.
Це універсальні мови високого рівня. Найбільш відомими прикладами ранніх мов третього покоління є FORTRAN (FORmula ТRANslation – перекладач формул), розроблений під керівництвом Дж. Бекуса 1960 р., яка була призначена для наукових і інженерних розрахунків, і СОВОL ( мова загального призначення ділової орієнтації), розроблена у 1960 р. фахівцями військово-морського флоту США для розв'язання економічних задач, АLGOL, розроблений міжнародною робочою групою.
З появою мов програмування третього покоління мета забезпечення машинної незалежності програм була в основному досягнутою. Оскіль ки оператори в мовах третього покоління не прив'язані до особливостей якоїсь конкретної машини, вони легко можуть бути скомпільовані на будь-якому комп'ютері. Теоретично програма, написана мовою третього покоління, може бути виконана на будь-якій машині використанням відповідного компілятора.
Насправді не все так просто. При розробці самого компілятора доводиться враховувати певні обмеження, що накладаються тією машиною, для якої він призначений
Проблема переносу програм з однієї машини на іншу полягає у відсутності спільної точки зору на те, що саме вважати стандартом цієї мови програмування. У зв'язку з цим Американський національний інститут стандартів (АNSI) і Міжнародна організація з стандартизації (ІSO) прийняли стандарти для багатьох популярних мов програмування. В інших випадках застосовуються неформальні стандарти, що є наслідком популярності того чи іншого діалекту мови, а також бажання багатьох розробників компіляторів створювати продукти, сумісні з іншими, подібними до них.