2010-06-25 1 views
1

Еще в 1985 году, когда я был Планировщиком продуктов для AT & T-IS Labs (Unix Product Management), одной из моих основных обязанностей было оценить возникающие продукты 4GL/RDBMS, представить планы продуктов и рекомендовать, следует ли преследовать AT & T соглашение о совместном маркетинге или совместном маркировании с поставщиком или просто проверить/подтвердить его как совместимое с нашими системами серии 3B. Некоторые заметные продукты, на которые я представил свои планы, были: Informix-4GL 1.1, Microfocus VS/COBOL Workbench и т. Д.Опция миграции приложений ISQL, Progress - «OpenEdge» Личные РСУБД с системой разработки 4GL (ABL)?

Один конкретный сексуальный продукт, который привлек мое внимание, был Progress. Хотя в то время у него не было поддержки SQL, его функций/функциональности, встроенного RDBMS-движка и встроенного редактора отладки, что позволило мне быстро выполнить интерпретируемый код и скомпилировать его после его отладки, так много мне понравилось, что я рекомендуется AT & T заключить соглашение о совместном маркетинге с условием, что поддержка SQL будет добавлена ​​к нему.

Ну, 25 лет спустя, и добавлена ​​поддержка SQL, я снова смотрю на Progress как возможность перезаписать мое приложение для управления общими приложениями на основе INFORMIX-SQL, однопользовательское приложение для Windows и UNIX.

В настоящее время я не нуждаюсь в сетевых или многопользовательских возможностях, но это может легко измениться, и эта опция будет использоваться как опция расширения/обновления, которую предлагает Progress. Персональный (однопользовательский) RDBMS-движок стоит всего $ 246/Windows, а система разработки 4GL (на основе символов и графического интерфейса) стоит около $ 2600 (одноразовый платеж).

У любого здесь, в SO, есть опыт разработки, воздействия или комментарии о Прогрессе?

Я нахожусь в процессе получения eval-копии и буду благодарен за любой ввод.

ответ

3

Я в настоящее время программирую прогресс (теперь фактически известный как OpenEdge ABL) для жизни. Я работаю полный рабочий день на весь год; Я буду на этой работе еще год и буду очень рад уйти.

Прогресс - просто ужасный язык для программирования общего назначения. Как вы помните, его сила - это интегрированная система РСУБД и возможность делать запросы непосредственно внутри языка. Это было, я уверен, довольно удивительно в 1985 году. Однако для чего-либо, кроме простого создания некоторых печатных отчетов (в 1985 году это было очень популярно), это действительно не так уж и сильно. Например, даже при «силе» интегрированной СУБД у Progress нет даже понятия отношений первичного ключа/внешнего ключа между таблицами. Ближайший вы можете прийти, чтобы назвать ваши поля точно так же в отдельных таблицах, то вы можете сделать запрос как

FOR EACH order-line OF order ... 

но это только способом. Это может привести к кошмарам, связанным с обслуживанием, когда у вас сотни таблиц и нет возможности генерировать диаграмму сущностных отношений между ними, потому что гении, которые проектировали систему 20 лет назад, не понимали серьезных ограничений основной СУБД. Это огромная слабость для языка, который, как предполагается, находится в области БД.

Что касается общего назначения (нетривиального) программирования, вам в основном нужно полагаться на Progress для написания методов, которые интегрированы в базовую систему ABL для вас, потому что язык просто недостаточно гибкий, чтобы распространяться самостоятельно (поверьте, я подтолкнул его к своим пределам). Они используют подход «дайте папе сделать это для вас», что, вероятно, было удивительным в 1985 году, но сегодня языки - это все о расширяемости (по понятным причинам).

Если бы я был вами, я бы изучил что-то вроде Java или Ruby, используя MySQL в качестве СУБД (все 100% бесплатно). Недавно я занимался программированием хобби с использованием объектно-реляционного сопоставления на обоих языках (JPA2 в Java и DataMapper в Ruby). Для меня способность сохранять объекты почти прозрачно намного, гораздо более естественно, чем пытаться сбалансировать сотни столов без поддержки ПК/ФК и бесконечно легче поддерживать дальше по дороге.

+0

Так что движок «Progress» не является реляционным SQL-based, но SQL-заявления поддерживаются? .. Является ли DB CODASYL? Я ищу 4GL/IDE/RDS, которые могут позволить мне быстро: прототип приложения, преобразование его в производственную систему и легко вносить в него изменения. Я также рассматриваю Oracle App Express и RadVolution. Есть ли у вас какие-либо другие рекомендации? Мои приложения в настоящее время написаны с помощью Informix-SQL. Выполните экраны CRUD, сценариста отчетов ACE и сценариев SQL. Логическим обновлением будет I4GL, но если мне придется делать обширное повторное использование моего приложения, я изучаю все альтернативы. –

+1

Механизм Progress 'DB реляционный, но не «SQL-based». Он поддерживает запуск «механизма SQL» одновременно с собственным движком OpenEdge, который предоставляет возможность выполнять SQL-запросы для * запросов * данных в Progress ABL, а также извне через Java (или интерпретаторы, работающие поверх Java, например JRuby или Groovy), посредством используя лицензированный драйвер JDBC. Тем не менее, данные все еще сохраняются * в базе данных OpenEdge, которая не поддерживает отношения PK/FK (просмотр базы данных из соединения JDBC показывает, что на самом деле нет ПК или FK!). –

+1

Я не знаком ни с одним из перечисленных вами альтернатив. Однако я могу с уверенностью сказать, что если вы продолжите с Прогрессом, вы столкнетесь с кирпичной стеной, когда придет время продвигаться за пределы операций CRUD в «реальное программирование» (например, новые структуры данных, потоки/формование процессов, нетривиальные алгоритмы. ..). –

1

Это замечательная среда. Я люблю это.

+0

Можете ли вы подробнее рассказать о том, что вам нравится? .. Какой самый надежный форум для разработчиков Progress? .. Кажется, что у Stackoverflow нет большой публикации для этого замечательного продукта. –

+0

Я считаю, что это очень «естественная» среда программирования. Это хорошо подходит для того, чтобы я * думал о кодировании бизнес-приложений. Конечно, все разные, и, безусловно, есть другие мнения по этому вопросу;) –

+1

Да, stackoverflow довольно слаб, как источник поддержки, когда речь заходит о менее популярных платформах - вы получаете много насмешек от более святых, чем вы, если вы не используют что-то «круто». Но это действительно не удивительно, и здесь есть много других веских причин. –

 Смежные вопросы

  • Нет связанных вопросов^_^