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

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

Класифікація мов програмування з історії їх появи вважається умовною, так як не враховує особливості конкретних систем. Однак вона дозволяє простежити, як змінювалися з часом концепції та ускладнювалися завдання, що стоять перед програмістами.

Спроби зв’язати класифікацію та еволюцію мов програмування виділилися кілька великих груп, названих поколіннями:

  • Перше покоління – машинні мови низького рівня, прив’язані до реалізації конкретної ЕОМ. “Програми” на цих мовах виглядали як ряди перемикачів, наведених в потрібне положення, або перфокарти (перфострічки). Таким чином, всі команди представляли собою послідовність нулів і одиниць – бінарний код. Приклад: мова ARM-процесора.
  • У другому поколінні мови стали трохи зрозуміліше для людини, але відв’язати їх від конкретного апарату так і не вдалося. Це час мов асемблера з його мнемоническими кодами і однозначної складанням в машиночитаемую форму. Приклад: Макроассемблер.
  • Мови третього покоління зняли з програміста турботу про непринципових деталях складання інструкцій, таких як переведення програми в машинний код. Тепер комп’ютер навчився робити це самостійно. Синтаксис і лексика наблизилися до людських, стали зрозумілішими. В цьому поколінні зародилися практично всі сучасні мови високого рівня з широкою областю застосування, незалежно від їх парадигми: PHP, Fortran.
  • В четвертому поколінні рівень абстракції зріс ще більше, різко звужуючи область використання. До цієї групи відносяться такі специфічні мови, як FoxPro, Simulink, SQL. З’явилися мови візуального програмування: CAD-пакети, системи RAD.
  • Нарешті, мови п’ятого покоління повинні були самі писати програми, отримуючи лише опис від програміста. Ця задумка так і не була реалізована повністю, так як для складання ефективного алгоритму іноді недостатньо прямої машинної логіки, а потрібно ще людська інтуїція і кмітливість. Прикладами мов п’ятого покоління є MathCAD, Prolog і Mercury.
Цікаве:  Міжрядковий інтервал у Ворді: як зробити?

По суті, покоління мов в точності відповідають етапам програмування, розглянутих на початку статті, переліченим у зворотному порядку. Спочатку програміст всі операції брав на себе, а машина лише виконувала задану послідовність дій. Тепер же ЕОМ здатна видавати результат за формализованному опису завдання.

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

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