stringtranslate.com

Язык программирования четвертого поколения.

Язык программирования четвертого поколения ( 4GL ) — это язык программирования высокого уровня , принадлежащий к классу языков, рассматриваемых как развитие языков программирования третьего поколения (3GL). Каждое из поколений языков программирования направлено на обеспечение более высокого уровня абстракции деталей внутреннего аппаратного обеспечения компьютера , что делает язык более удобным для программистов , мощным и универсальным. Хотя определение 4GL со временем менялось, его можно типизировать, работая одновременно с большими коллекциями информации, а не сосредотачиваясь только на битах и ​​байтах . Языки, заявленные как 4GL, могут включать поддержку управления базами данных , создания отчетов , математической оптимизации , разработки графического пользовательского интерфейса или веб-разработки . Некоторые исследователи утверждают, что 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 Сперри (внутреннее использование 1969 г., выпуск 1979 г.).

Мотивов для создания «4GL» и постоянного интереса к нему несколько. Этот термин может применяться к большому набору программных продуктов. Это также может применяться к подходу, который ищет большие семантические свойства и возможности реализации. Точно так же, как 3GL давал программисту больше возможностей, 4GL открыл среду разработки для более широкого круга людей.

Ранняя схема ввода для 4GL поддерживала ввод данных в пределах 72 символов перфокарты (8 байтов, используемых для последовательности), где тег карты идентифицировал тип или функцию. При разумном использовании нескольких карт колода 4GL может предложить широкий спектр возможностей обработки и отчетности, тогда как эквивалентная функциональность, закодированная в 3GL , может охватывать, возможно, целую коробку или несколько карт . [7]

72-символьный формат сохранялся некоторое время по мере того, как оборудование переходило на больший объем памяти и терминальных интерфейсов. Даже несмотря на свои ограничения, этот подход поддерживает весьма сложные приложения.

По мере того, как интерфейсы улучшались и позволяли использовать операторы большей длины и обработку ввода на основе грамматики, появилась большая мощность. Пример этого описан на странице Nomad .

Другой пример мощи Nomad проиллюстрирован Николасом Роулингсом в его комментариях для Музея компьютерной истории о NCSS (см. цитату ниже). Он сообщает, что Джеймс Мартин попросил Роулингса предложить Кочевнику решение стандартной проблемы, которую Мартин назвал « Проблемой инженера» : «дать повышение на 6% инженерам, чей рейтинг работы в среднем составляет 7 или выше». Мартин предоставил «дюжину страниц COBOL, а затем всего пару страниц Mark IV из информатики ». Роулингс предложил следующее единственное утверждение, выполняющее операцию «множество за раз»:

На разработку 4GL повлияло несколько факторов, среди которых большое значение имели ограничения аппаратного обеспечения и операционной системы. Когда 4GL был впервые представлен, разрозненное сочетание аппаратного обеспечения и операционных систем требовало поддержки разработки пользовательских приложений, специфичных для системы, чтобы обеспечить продажи. Одним из примеров является система MAPPER , разработанная Сперри . Хотя ее корни уходят корнями в самое начало, система доказала свою эффективность во многих приложениях и была портирована на современные платформы. Последний вариант встроен в предложение BIS [8] Unisys . MARK-IV теперь известен как VISION:BUILDER и предлагается компанией Computer Associates .

Железная дорога Санта-Фе использовала MAPPER для разработки системы в проекте, который был ранним примером 4GL, быстрого прототипирования и программирования пользователями . [9] Идея заключалась в том, что легче научить железнодорожных экспертов использовать MAPPER , чем обучать программистов «тонкостям работы железных дорог». [10]

Одним из первых (и переносимых) языков, обладавших свойствами 4GL, был Ramis , разработанный Джеральдом К. Коэном из Mathematica , компании, занимающейся математическим программным обеспечением. Коэн покинул Mathematica и основал Information Builders, чтобы создать аналогичную ориентированную на отчетность 4GL под названием FOCUS .

Более поздние типы 4GL привязаны к системе баз данных и сильно отличаются от более ранних типов в использовании методов и ресурсов, ставших результатом общего улучшения вычислений с течением времени.

Интересным поворотом в сцене 4GL является осознание того, что графические интерфейсы и связанные с ними рассуждения, выполняемые пользователем, образуют «язык», который плохо понимаем.

Типы

Существует несколько различных типов 4GL:

Некоторые 4GL имеют встроенные инструменты, которые позволяют легко указать всю необходимую информацию:

Среды с низким кодом

В двадцать первом веке системы 4GL появились как среды или платформы с «низким кодом» для решения проблемы быстрой разработки приложений за короткие периоды времени. Поставщики часто предоставляют образцы систем, таких как CRM, управление контрактами, отслеживание ошибок, на основе которых разработка может осуществляться с минимальными затратами на программирование. [11]

Примеры

Общее использование/универсальный

Языки запросов к базе данных

Генераторы отчетов

Извлечение данных из файлов или базы данных для создания отчетов в широком диапазоне форматов выполняется с помощью инструментов генератора отчетов.

Языки манипулирования данными, анализа и составления отчетов

Создатели программного обеспечения

Математическая оптимизация

Разработка приложений с графическим интерфейсом на основе базы данных

Платформы разработки с низким кодом/без кода

Источник: [12] [13]

Художники экрана и генераторы

Языки веб-разработки

Язык программирования музыки

Смотрите также

Рекомендации

  1. ^ 35-я Гавайская международная конференция по системным наукам - 1002 предметно-ориентированных языка для разработки программного обеспечения. Архивировано 16 мая 2011 г., на Wayback Machine.
  2. ^ Ари ван Дёрсен; Пол Клинт; Йост Виссер (1998). «Языки-свидетели конкретной предметной области: аннотированная библиография». Архивировано из оригинала 2 февраля 2009 г. Проверено 15 марта 2009 г.
  3. ^ МакДонелл, Стивен (ноябрь 1993 г.). «Разработка программного обеспечения, инструменты CASE и 4GL — исследование использования Новой Зеландии. Часть 1: 750 новозеландских организаций». hdl : 10523/928 . {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  4. ^ "Поколения программного обеспечения Роджера Кларка" .
  5. ^ «Определение языка четвертого поколения». ПКМАГ . Проверено 7 мая 2020 г.
  6. ^ Мартин, Джеймс . Разработка приложений без программистов. Прентис-Холл, 1981. ISBN 0-13-038943-9
  7. ^ "Перфокарты IBM" . www.columbia.edu . Архивировано из оригинала 16 февраля 2019 г. Проверено 3 февраля 2019 г.
  8. ^ «Программное обеспечение для интеллектуального анализа данных, анализ данных и многое другое: функции сервера бизнес-информации Unisys» . Унисис . 21 августа 2006 г. Архивировано из оригинала 21 августа 2006 г. Проверено 3 февраля 2019 г.
  9. ^ Луи Шлютер (1988). Пользовательские вычисления: следующее поколение .[книга по генератору отчетов и системам MAPPER]
  10. ^ Барбара Каннинг МакНерлин; Ральф Х. Спрэг (2004). «Гл. 9». Управление информационными системами на практике (PDF) . Пирсон/Прентис Холл. ISBN 978-0-13-101139-7.[ постоянная мертвая ссылка ]
  11. ^ Форрест, Коннер. «Как Salesforce использует оркестровку с низким кодом для спасения «барахтающихся проектов Интернета вещей»». ЗДНет .
  12. Марвин, Роб (10 августа 2018 г.). «Лучшие платформы разработки с низким кодом на 2019 год». ПКМАГ .
  13. Сэйер, Мартин Хеллер и Питер (6 апреля 2018 г.). «25 простых инструментов для быстрого создания мобильных приложений». Инфомир . Архивировано из оригинала 18 ноября 2017 года . Проверено 17 ноября 2017 г.
  14. ^ «DronaHQ. Создавайте приложения без программирования» . www.dronahq.com . Архивировано из оригинала 9 августа 2019 г. Проверено 11 сентября 2019 г.
  15. ^ «К2 - Автоматизация цифровых процессов» . www.k2.com . Архивировано из оригинала 21 ноября 2017 г. Проверено 20 ноября 2017 г.
  16. ^ «Кони. Ускорьте цифровой успех» . Кони . Архивировано из оригинала 24 ноября 2017 г. Проверено 20 ноября 2017 г.
  17. ^ «n8n — мощный инструмент автоматизации рабочих процессов» . n8n.io/ . Проверено 27 августа 2023 г.
  18. ^ «Разработчик моделей WEM. Создавайте современные приложения с невероятной скоростью» . wem.io. _ Архивировано из оригинала 9 августа 2019 г. Проверено 7 сентября 2021 г.