Progress 4GL

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску

Progress 4GL — это высокоуровневый язык программирования четвёртого поколения (4GL), разработанный в Progress Software Corporation.

Progress 4GL является высокоуровневым, объектно-ориентированным языком разработки приложений, который позволяет удовлетворять всем требованиям, предъявляемым к современным приложениям, в тоже время уменьшая сложность и повышая производительность их разработки.

4GL содержит все необходимые программные конструкции для решения самых различных аспектов программирования сложных приложений без необходимости прибегать к менее эффективным и менее переносимым языкам третьего поколения. Кроме этого, 4GL обеспечивает поддержку и переход между тремя основными принципами программирования: структурированным, событийно-управляемым и объектно-ориентированным, — от Вас не требуется осваивать новые принципы программирования для того, чтобы успешно работать с PROGRESS. Для завершения процесса разработки промышленного приложения Вам потребуются средства разработки не только логики взаимодействия с пользователем, но также потребуются средства для решения таких важных задач, как:

  • Автоматический контроль транзакций и блокирование записей
  • Получение и обработка информации из баз данных
  • Сложные вычисления и обработка данных
  • Пакетная обработка
  • Генерация отчетов
  • Целостность базы данных и требования безопасности
  • Поддержка двухбайтовых кодировок

Язык 4GL содержит все функции и операторы, необходимые для удовлетворения вышеперечисленных требований. Но, в отличие от остальных инструментальных средств, менее ориентированных на разработку приложения в архитектуре клиент/сервер, PROGRESS не требует использования различных языков программирования для отдельного программирования обработки данных на клиенте, серверных процессов и пакетной обработки на сервере. Всё это уменьшает стоимость затрат по изучению языка и продолжению разработки.

Используется в СУБД Progress. Кроме традиционных SQL-запросов, реализация поддержки которых не очень удобна, позволяет использовать выражения FOR EACH, FIND, FIND FIRST.

Кроме того, существует возможность сокращённого написания операторов. Например, объявление переменной

DEFINE VARIABLE foo AS INTEGER INITIAL 0 NO-UNDO.

идентично

DEF VAR foo AS INT INIT 0 NO-UNDO.

Пример программы

FOR EACH mytable WHERE mytable.field1 > 0 no-lock:
  CREATE mytable2.
  ASSIGN
    mytable2.id = mytable.field1
    mytable2.name = mytable.field2
  .
END.

При этом очевидны недостатки:

  1. Язык SQL служит для описания запросов, а не для их программирования, в то время как на 4GL приходится именно программировать запросы.
  2. Многие вещи, с которыми СУБД типа Oracle или MS SQL Server прекрасно справляются в автоматическом режиме, в Progress приходится прописывать явно.
  3. Преимущество, заключающееся в том, что помимо средств манипуляции данными в языке содержатся средства для создания интерфейса немного сомнительно, так как приводит к созданию однозвенного приложения.
  4. Не слишком удобные и не богатые средства для манипуляции и визуализации данных.
  5. Progress имеет всего три типа блокировок и не слишком интеллектуально работает с индексами.[источник не указан 5601 день]

В связи с этим ни язык 4GL, ни СУБД Progress не получили и уже вряд ли получат широкое распространение.[источник не указан 5601 день]


en:OpenEdge Advanced Business Language fr:Progress 4GL nl:Progress 4GL

Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....