- Progress 4GL
-
Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей.Проверить нейтральность. На странице обсуждения должны быть подробности.В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 12 мая 2011.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.
При этом очевидны недостатки:
- Язык SQL служит для описания запросов, а не для их программирования, в то время как на 4GL приходится именно программировать запросы.
- Многие вещи, с которыми СУБД типа Oracle или MS SQL Server прекрасно справляются в автоматическом режиме, в Progress приходится прописывать явно.
- Преимущество, заключающееся в том, что помимо средств манипуляции данными в языке содержатся средства для создания интерфейса немного сомнительно, так как приводит к созданию однозвенного приложения.
- Не слишком удобные и не богатые средства для манипуляции и визуализации данных.
- Progress имеет всего три типа блокировок и не слишком интеллектуально работает с индексами.
В связи с этим ни язык 4GL, ни СУБД Progress не получили и уже вряд ли получат широкое распространение.
Для улучшения этой статьи по информационным технологиям желательно?: - Проставить шаблон-карточку, который существует для предмета статьи. Пример использования шаблона есть в статьях на похожую тематику.
- Проверить статью на грамматические и орфографические ошибки.
- Викифицировать статью.
- Переработать оформление в соответствии с правилами написания статей.
- Исправить статью согласно стилистическим правилам Википедии.
- Добавить иллюстрации.
- Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
Категория:- Языки программирования баз данных
Wikimedia Foundation. 2010.