Покоління мов програмування

 

Перші мови програмування були дуже примітивними і це були машинні коди - машинні мови, що дозволяли задавати назви команд у символічному вигляді і вказувати числа в двійковому, шістнадцятковому й десятковому форматах. Процес програмування був складним і передбачав запис програмі­стом усіх алгоритмів безпосередньо машинною мовою.

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

З'явилася необхідність у мовах програмування високого рівня і були сформульовані вимоги до таких мов, основна з яких така: мова має бути близькою до тих фрагментів природних мов, які забезпечують конкретну предметну галузь діяльності людини.

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

 

Це універсальні мови високого рівня. Найбільш відомими прикладами ранніх мов третього покоління є FORTRAN (FORmula ТRANslation – перекладач формул), розроблений під керівництвом Дж. Бекуса 1960 р., яка була призначена для наукових і інженерних розра­хунків, і СОВОL ( мова загально­го призначення ділової орієнтації), розроблена у 1960 р. фахівцями військово-морського флоту США для розв'язання економічних задач, АLGOL, розроблений міжнародною робочою групою.

 

 

 

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

 

Насправді не все так просто. При розробці самого компілятора дово­диться враховувати певні обмеження, що накладаються тією машиною, для якої він призначений

Проблема переносу програм з однієї машини на іншу полягає у відсутності спільної точки зору на те, що саме вважати стандартом цієї мови програмування. У зв'язку з цим Американський національний інститут стандартів (АNSI) і Міжнародна організація з стандартизації (ІSO) прийняли стандарти для багатьох популярних мов програмуван­ня. В інших випадках застосовуються неформальні стандарти, що є наслідком популярності того чи іншого діалекту мови, а також бажання багатьох розробників компіляторів створювати продукти, сумісні з інши­ми, подібними до них.