RAD-системы: Clarion и Dеlphi
Современные системы быстрой разработки приложений RAD (Rapid Application Development) - это новый этап в развитии программных средств, еще один шаг по пути, ведущему к избавлению программиста от низкоуровневого кодирования.
В классическом программировании 90% объема всей программы пишется самим программистом, а остальное подставляется транслятором. В RAD-системах все наоборот.
Автор программы в большей степени становится своеобразным архитектором, создающим общую конструкцию, и в меньшей - каменьщиком, кладущим кирпичи. И как работа архитектора имеет смысл только тогда, когда ее можно реализовать в рамках имеющейся строительной технологии, так и RAD-средствами разумно пользоваться лишь будучи абсолютно уверенным, что их достаточно для разработки конкретной программы в полном объеме.
В распоряжении разработчика имеется целый "букет" RAD-систем, созданных человечеством за последние годы для ускорения и облегчения труда программиста: Delphi, Power Builder, Fox Pro, Clipper, Magic, C++, Clarion и др.
И конечно, бессмысленно делать категоричные выводы о том, какая система лучше. Их эффективность невозможно полностью оценить количественно: в числе строк кода или в числе часов, сэкономленных при разработке. По большому счету отношение к ним субъективно. Такие системы - совершенно особый инструмент, переход на который предполагает не только специальную подготовку, но и зачастую изменение всей сложившейся системы ценностей разработчика.
Для создания чего-либо не предусмотренного разработчиками RAD-системы программисту необходимо детально разобраться со структурой созданной ею программы.
Кроме того, такие системы обычно берут на себя все заботы об интерфейсах создаваемого приложения к операционной среде, базам данных, ПО сервера. Для того чтобы создать что-то нестандартное, необходимо знать входной язык RAD-системы, API, ODBC, SQL и понимать все, что она уже натворила.
Сравниваемые в этой статье RAD-системы: Delphi (Borland International) и Clarion (Top Speed Corporation) (о Clarion можно прочитать в КГ N№13-16/1999) в определенном смысле можно назвать родственными.
Группа разработчиков, которая впоследствии создала Clarion for Windows, покинула Borland спустя пять лет после того, как выпустила в свет компилятор Turbo Pascal - первое из серии средств разработки, прославившее эту фирму. Родство систем проявляется также в названии и символике продуктов.
Символ Delphi - голова Венеры Милосской и название Clarion (англ. - "рожок") - атрибуты мира искусства.
Язык
Входной язык системы - это не только форма представления информации, он неразрывно связан с содержанием, сутью продукта. Разниться суть - разняться и языки. При наличии общих прародителей Clarion и Delphi "говорят" на разных языках.
Входной язык Delphi - хорошо известный объектно-ориентированный Object Pascal. Поэтому знающим его не составляет особого труда "погрузиться" в среду системы.
А приверженцев этого языка по-прежнему много. Причем для начала работы нет необходимости в знании деталей объектно-ориентированного программирования (ООП), достаточно базового Паскаля. В то же время владение этим языком - необходимое условие.
Другое дело Clarion - для написания очень большого класса приложений, работающих с базами данных, вообще нет нужды знать входной язык.
Достаточно имеющихся средств визуального программирования. Однако для разработки реальных приложений он чем-то напоминает Си и PAL (язык СУБД Paradox), а знатоки Кобола усматривают прямую связь именно с Коболом.
В нем, кроме традиционных операторов присваивания, выражений и управляющих конструкций, предусмотрены операторы работы с файлами БД, средства описания форм и отчетов.
В ряде случаев многие рутинные операции в языке Clarion закодировать значительно легче, чем в Delphi, например операции присвоения (извлечения значений из строк, преобразования типов данных в выражениях и др.).
Предусмотрена даже интерпретация выражений, введенных пользователем во время выполнения сгенерированной программы. И что особо примечательно, реализованы распараллеливание обработки (многонитевость) и параллельный доступ к файлам.
Стиль языка Clarion сегодня воспринимается, несмотря на все достоинства, как некое ретро. Однако это вряд ли кого-нибудь расстроит: язык легок в освоении, да и писать на нем много, скорее всего, никому не придется. Львиная доля кода получается с помощью визуального программирования.
Методы реализации
Различны методы генерации кода. В Delphi для построения всех необходимых элементов программы используются средства ООП. В Clarion код создается с помощью языка шаблонов.
По сути это макрообработка, когда каждому элементу соответствует процедура-прототип (шаблон), которая настраивается средствами визуального программирования и в которую в нужных местах встраивается код пользователя. Конечно, для не слишком искушенного разработчика это различие несущественно, однако метод, применяемый в Delphi, несомненно, более продуктивен и при разработке самим пользователем каких-либо дополнительных расширений.
В то же время наличие процедуры-прототипа облегчает понимание внутренней структуры сгенерированной программы.
Средства визуального программирования
Они близки по своим возможностям и достаточно удобны в обеих системах. Вместе с тем в Clarion требуется осуществить гораздо больше элементарных операций, чтобы с уровня проекта добраться до, например, уровня кода, ассоциированного с конкретной кнопкой, а затем вернуться обратно.
Пожалуй, достоинством Clarion является лучшая структуризация приложения. Оно представляется в виде дерева процедур с различными возможностями упорядочения: в соответствии с деревом вызовов; по порядку размещения в исходных модулях; по алфавиту.
В Delphi все приложение - это неупорядоченный набор форм и модулей (units), что при разработке сложных приложений может затруднить работу.
Доступ к БД
Здесь Clarion, безусловно, лидирует. Он снабжен собственными драйверами доступа к БД разнообразных форматов. Среди них как собственные форматы Clarion и Top Speed, так и широко распространенные - ASCII, Basic, Btrieve, Clipper, dBase, FoxPro, Paradox.
Доступ к БД других форматов и удаленным SQL-серверам обеспечивается посредством драйвера ODBC.
Delphi обеспечивает доступ к локальным базам только в форматах Paradox и dBase, а также к локальному серверу InterBase. И даже для этого требуются достаточно громоздкие дополнительные компоненты: библиотека методов доступа к БД Borland Database Engine (BDE), Local Inter Base Server (LIS).
Это приводит к тому, что при разработке достаточно простых локальных приложений БД заставляет пользователя осваивать дополнительное ПО.
В Delphi сложнее осуществлять перенос готовых приложений с одной машины на другую: там, где приложение Clarion вместе с необходимыми драйверами в виде DLL-библиотек занимает одну дискету, приложение Delphi (вместе с BDE и LIS) может занять пять-десять (не говоря уже о сложности его установки).
Вместе с тем при разработке приложений типа клиент-сервер в Delphi обеспечивается доступ к широкому набору удаленных серверов.
Компактность готовых приложений драйверов БД, простота их развертывания, "самодостаточность" системы - все это безусловные преимущества Clarion по сравнению с Delphi.
Даже самая детальная оценка свойств RAD-систем не позволяет сделать вывод относительно удобства применения конкретной системы вообще.
Как работа архитектора имеет смысл только тогда, когда ее можно реализовать в рамках имеющейся строительной технологии, так и RAD-средствами разумно пользоваться, лишь будучи абсолютно уверенным, что их достаточно для разработки конкретной программы в полном объеме.
Максим Костюченко
В классическом программировании 90% объема всей программы пишется самим программистом, а остальное подставляется транслятором. В RAD-системах все наоборот.
Автор программы в большей степени становится своеобразным архитектором, создающим общую конструкцию, и в меньшей - каменьщиком, кладущим кирпичи. И как работа архитектора имеет смысл только тогда, когда ее можно реализовать в рамках имеющейся строительной технологии, так и RAD-средствами разумно пользоваться лишь будучи абсолютно уверенным, что их достаточно для разработки конкретной программы в полном объеме.
В распоряжении разработчика имеется целый "букет" RAD-систем, созданных человечеством за последние годы для ускорения и облегчения труда программиста: Delphi, Power Builder, Fox Pro, Clipper, Magic, C++, Clarion и др.
И конечно, бессмысленно делать категоричные выводы о том, какая система лучше. Их эффективность невозможно полностью оценить количественно: в числе строк кода или в числе часов, сэкономленных при разработке. По большому счету отношение к ним субъективно. Такие системы - совершенно особый инструмент, переход на который предполагает не только специальную подготовку, но и зачастую изменение всей сложившейся системы ценностей разработчика.
Для создания чего-либо не предусмотренного разработчиками RAD-системы программисту необходимо детально разобраться со структурой созданной ею программы.
Кроме того, такие системы обычно берут на себя все заботы об интерфейсах создаваемого приложения к операционной среде, базам данных, ПО сервера. Для того чтобы создать что-то нестандартное, необходимо знать входной язык RAD-системы, API, ODBC, SQL и понимать все, что она уже натворила.
Сравниваемые в этой статье RAD-системы: Delphi (Borland International) и Clarion (Top Speed Corporation) (о Clarion можно прочитать в КГ N№13-16/1999) в определенном смысле можно назвать родственными.
Группа разработчиков, которая впоследствии создала Clarion for Windows, покинула Borland спустя пять лет после того, как выпустила в свет компилятор Turbo Pascal - первое из серии средств разработки, прославившее эту фирму. Родство систем проявляется также в названии и символике продуктов.
Символ Delphi - голова Венеры Милосской и название Clarion (англ. - "рожок") - атрибуты мира искусства.
Язык
Входной язык системы - это не только форма представления информации, он неразрывно связан с содержанием, сутью продукта. Разниться суть - разняться и языки. При наличии общих прародителей Clarion и Delphi "говорят" на разных языках.
Входной язык Delphi - хорошо известный объектно-ориентированный Object Pascal. Поэтому знающим его не составляет особого труда "погрузиться" в среду системы.
А приверженцев этого языка по-прежнему много. Причем для начала работы нет необходимости в знании деталей объектно-ориентированного программирования (ООП), достаточно базового Паскаля. В то же время владение этим языком - необходимое условие.
Другое дело Clarion - для написания очень большого класса приложений, работающих с базами данных, вообще нет нужды знать входной язык.
Достаточно имеющихся средств визуального программирования. Однако для разработки реальных приложений он чем-то напоминает Си и PAL (язык СУБД Paradox), а знатоки Кобола усматривают прямую связь именно с Коболом.
В нем, кроме традиционных операторов присваивания, выражений и управляющих конструкций, предусмотрены операторы работы с файлами БД, средства описания форм и отчетов.
В ряде случаев многие рутинные операции в языке Clarion закодировать значительно легче, чем в Delphi, например операции присвоения (извлечения значений из строк, преобразования типов данных в выражениях и др.).
Предусмотрена даже интерпретация выражений, введенных пользователем во время выполнения сгенерированной программы. И что особо примечательно, реализованы распараллеливание обработки (многонитевость) и параллельный доступ к файлам.
Стиль языка Clarion сегодня воспринимается, несмотря на все достоинства, как некое ретро. Однако это вряд ли кого-нибудь расстроит: язык легок в освоении, да и писать на нем много, скорее всего, никому не придется. Львиная доля кода получается с помощью визуального программирования.
Методы реализации
Различны методы генерации кода. В Delphi для построения всех необходимых элементов программы используются средства ООП. В Clarion код создается с помощью языка шаблонов.
По сути это макрообработка, когда каждому элементу соответствует процедура-прототип (шаблон), которая настраивается средствами визуального программирования и в которую в нужных местах встраивается код пользователя. Конечно, для не слишком искушенного разработчика это различие несущественно, однако метод, применяемый в Delphi, несомненно, более продуктивен и при разработке самим пользователем каких-либо дополнительных расширений.
В то же время наличие процедуры-прототипа облегчает понимание внутренней структуры сгенерированной программы.
Средства визуального программирования
Они близки по своим возможностям и достаточно удобны в обеих системах. Вместе с тем в Clarion требуется осуществить гораздо больше элементарных операций, чтобы с уровня проекта добраться до, например, уровня кода, ассоциированного с конкретной кнопкой, а затем вернуться обратно.
Пожалуй, достоинством Clarion является лучшая структуризация приложения. Оно представляется в виде дерева процедур с различными возможностями упорядочения: в соответствии с деревом вызовов; по порядку размещения в исходных модулях; по алфавиту.
В Delphi все приложение - это неупорядоченный набор форм и модулей (units), что при разработке сложных приложений может затруднить работу.
Доступ к БД
Здесь Clarion, безусловно, лидирует. Он снабжен собственными драйверами доступа к БД разнообразных форматов. Среди них как собственные форматы Clarion и Top Speed, так и широко распространенные - ASCII, Basic, Btrieve, Clipper, dBase, FoxPro, Paradox.
Доступ к БД других форматов и удаленным SQL-серверам обеспечивается посредством драйвера ODBC.
Delphi обеспечивает доступ к локальным базам только в форматах Paradox и dBase, а также к локальному серверу InterBase. И даже для этого требуются достаточно громоздкие дополнительные компоненты: библиотека методов доступа к БД Borland Database Engine (BDE), Local Inter Base Server (LIS).
Это приводит к тому, что при разработке достаточно простых локальных приложений БД заставляет пользователя осваивать дополнительное ПО.
В Delphi сложнее осуществлять перенос готовых приложений с одной машины на другую: там, где приложение Clarion вместе с необходимыми драйверами в виде DLL-библиотек занимает одну дискету, приложение Delphi (вместе с BDE и LIS) может занять пять-десять (не говоря уже о сложности его установки).
Вместе с тем при разработке приложений типа клиент-сервер в Delphi обеспечивается доступ к широкому набору удаленных серверов.
Компактность готовых приложений драйверов БД, простота их развертывания, "самодостаточность" системы - все это безусловные преимущества Clarion по сравнению с Delphi.
Даже самая детальная оценка свойств RAD-систем не позволяет сделать вывод относительно удобства применения конкретной системы вообще.
Как работа архитектора имеет смысл только тогда, когда ее можно реализовать в рамках имеющейся строительной технологии, так и RAD-средствами разумно пользоваться, лишь будучи абсолютно уверенным, что их достаточно для разработки конкретной программы в полном объеме.
Максим Костюченко
Компьютерная газета. Статья была опубликована в номере 21 за 1999 год в рубрике программирование :: разное