Jump to content

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

(Перенаправлено с 4GL )

Язык программирования четвертого поколения ( 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:

  • Табличное (бескодовое) программирование, обычно выполняемое с использованием среды выполнения и библиотек. Вместо использования кода разработчик определяет свою логику, выбирая операцию в заранее определенном списке команд манипуляции с памятью или таблицей данных. Другими словами, вместо кодирования разработчик использует табличное программирование алгоритмов (см. также управляющие таблицы , которые можно использовать для этой цели). Эти типы инструментов можно использовать для разработки бизнес-приложений, обычно состоящих из пакета, позволяющего как манипулировать бизнес-данными, так и создавать отчеты, поэтому они поставляются с экранами графического интерфейса пользователя и редакторами отчетов. Обычно они предлагают интеграцию с DLL более низкого уровня, созданными из типичного 3GL, на случай, если возникнет необходимость в большем количестве операций, специфичных для оборудования/ОС.
  • Языки программирования генератора отчетов принимают описание формата данных и отчета, который нужно создать, и на основе этого либо напрямую генерируют требуемый отчет, либо генерируют программу для создания отчета. См. также РПГ.
  • Аналогично, генераторы форм управляют онлайн-взаимодействием с пользователями прикладной системы или создают для этого программы.
  • Более амбициозные 4GL (иногда называемые средами четвертого поколения ) пытаются автоматически генерировать целые системы на основе результатов CASE- инструментов, спецификаций экранов и отчетов и, возможно, также спецификации некоторой дополнительной логики обработки.
  • 4GL для управления данными, такие как SAS , SPSS и Stata, предоставляют сложные команды кодирования для манипулирования данными, изменения формы файлов, выбора случая и документирования данных при подготовке данных для статистического анализа и отчетности.
  • Так называемые языки «XTalk», первоначально разработанные вместе с Apple Hypercard в 1987 году. Hypercard был прародителем более современных и мощных программ, таких как SuperCard, Toolbook и LiveCode.

Некоторые 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 г.). «Лучшие платформы разработки Low-Code на 2019 год» . ПКМАГ .
  13. ^ Сэйер, Мартин Хеллер и Питер (6 апреля 2018 г.). «25 простых инструментов для быстрого создания мобильных приложений» . Инфомир . Архивировано из оригинала 18 ноября 2017 года . Проверено 17 ноября 2017 г.
  14. ^ «DronaHQ. Создавайте приложения без программирования» . www.dronahq.com . Архивировано из оригинала 9 августа 2019 г. Проверено 11 сентября 2019 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 94a13b759b86de8d640904028e21b173__1717527300
URL1:https://arc.ask3.ru/arc/aa/94/73/94a13b759b86de8d640904028e21b173.html
Заголовок, (Title) документа по адресу, URL1:
Fourth-generation programming language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)