Мова програмування четвертого покоління
Мова програмування четвертого покоління (англ. Fourth-generation programming language, 4GL) — мова комп’ютерного програмування високого рівня, яка належить до класу мов, які передбачають удосконалення мов програмування третього покоління (3GL). Кожне з поколінь мов програмування має на меті забезпечити вищий рівень абстракції деталей внутрішнього апаратного забезпечення комп’ютера, роблячи мову більш зручною для програміста, потужною та універсальною. Хоча визначення 4GL змінювалося з часом, його можна охарактеризувати, оперуючи більше з великими колекціями інформації одночасно, а не зосереджуючись лише на бітах і байтах. Мови, які називаються 4GL, можуть включати підтримку керування базами даних, створення звітів, математичну оптимізацію, розробку GUI або веброзробку. Деякі дослідники стверджують, що 4GL є підмножиною предметно-орієнтованих мов.[1][2]
Концепція 4GL була розроблена з 1970-х по 1990-ті роки, перекриваючи більшу частину розвитку 3GL, причому 4GL ідентифікувалися як «непроцедурні» або «генеруючі програми» мови, на відміну від 3GL як алгоритмічних або процедурних мов. У той час як 3GL, такі як C, C++, C#, Java та JavaScript, залишаються популярними для широкого спектру використання, 4GL, як було визначено спочатку, знайшли застосування, зосереджене на базах даних, звітах і веб-сайтах.[3] Деякі просунуті 3GL, як-от Python, Ruby та Perl, поєднують деякі можливості 4GL у загальному середовищі 3GL[4], а бібліотеки з функціями, схожими на 4GL, були розроблені як доповнення для найпопулярніших 3GL, створюючи мови, які є сумішшю. 3GL і 4GL, стираючи відмінності.[5]
У 1980-х і 1990-х роках були спроби розробити мови програмування п'ятого покоління (5GL).
Хоча термін 4GL використовувався раніше в статтях і дискусіях, він був вперше офіційно використаний Джеймсом Мартіном у його книзі 1981 року «Розробка додатків без програмістів»[6] для позначення непроцедурних мов специфікації високого рівня. Деяким примітивним чином ранні 4GL були включені в продукт Informatics MARK-IV (1967) і MAPPER Sperry (1969 для внутрішнього використання, випуск 1979).
Існує кілька мотивацій для створення «4GL» і постійного інтересу. Термін може застосовуватися до великого набору програмних продуктів. Також може застосовуватися до підходу, хто шукає більших семантичних властивостей і потужності реалізації. Подібно до того, як 3GL надавав більшу потужність програмісту, 4GL також відкривав середовище розробки для широкої верстви населення.
Рання схема введення для 4GL підтримувала введення даних у межах 72 символів перфокарти (8 байтів, що використовуються для послідовності), де тег картки ідентифікував би тип або функцію. З розумним використанням кількох карт колода 4GL може запропонувати широкий спектр можливостей обробки та звітності, тоді як еквівалентна функціональність, закодована в 3GL, може включити, можливо, цілу коробку чи більше карт.[7]
- ↑ 35th Hawaii International Conference on System Sciences - 1002 Domain-Specific Languages for Software Engineering [Архівовано May 16, 2011, у Wayback Machine.]
- ↑ Arie van Deursen; Paul Klint; Joost Visser (1998). Domain-Specific witness Languages:An Annotated Bibliography. Архів оригіналу за 2 лютого 2009. Процитовано 15 березня 2009.
- ↑ MacDonell, Stephen (November 1993). Software development, CASE tools and 4GLs—A survey of New Zealand usage. Part 1: 750 New Zealand organisations. hdl:10523/928.
- ↑ Roger Clarke's Software Generations.
- ↑ Definition of fourth-generation language. PCMAG (англ.). Процитовано 7 травня 2020.
- ↑ Martin, James. Application Development Without Programmers. Prentice-Hall, 1981. ISBN 0-13-038943-9.
- ↑ IBM Punch Cards. www.columbia.edu. Архів оригіналу за 16 лютого 2019. Процитовано 3 лютого 2019.