СТАТЬЯ |
20.03.01
|
С. А. Большаков
Начиная эту статью, заранее предвижу возражения и контраргументы оппонентов, но все-таки решился изложить свои доводы. Основной целью данной статьи является попытка показать, что средства, подобные Centura Team Developer (CTD), в довольно большом числе случаев при создании информационных бизнес-систем разного класса являются более предпочтительными, чем, например, Delphi. Пусть нетерпеливый и несговорчивый читатель найдет в себе силы, терпение и время для того, чтобы дочитать данный материал до конца и заочно со мной поспорить (а возможно, и согласиться с моими доводами). Желаю всем в этом успеха.
Не сегодня, а достаточно давно (при появлении первых алгоритмических языков), начались споры о предпочтительности того или иного языка, той или иной системы программирования. Жаркие диспуты можно было услышать и в студенческой аудитории, и в среде профессиональных программистов. Что лучше - АЛГОЛ или ФОРТРАН, PL/1 или СИ? И так далее. Сегодня эти споры переносятся на сравнение языков СИ, Паскаль, JAVA и других. У этих споров, конечно, несмотря на субъективность их по сути, были и есть объективные основания. Субъективность основывается на привычке, профессиональном освоении средств и конечном смысле "привязанности" (или даже "любви"). Так как программист, изучая универсальный язык программирования, тратит на это достаточно много времени, а освоение нового языка, и даже привыкание к нему, стоит больших затрат и может привести к "забыванию" возможностей первого. В связи с этим споры о предпочтительности часто выглядят как разговор "немого с глухим".
"Осуждают то, чего не понимают" – утверждал Квинтилиан Марк Фабий (ок.35-96 гг.) - оратор и теоретик ораторского искусства в Древнем Риме. И именно нехватка знаний и опыта использования универсальных языков, защищаемых оппонентом спора, объективно приводит к порой неразрешимой ситуации. Кроме того, каждый универсальный язык программирования позволяет сделать все или почти все для данного уровня развития информационных технологий. Нужно отметит еще один объективный фактор, который, на мой взгляд, пока недостаточно учитывается. А заключается он в следующем. Подозреваю, что у программистов существует некоторый стереотип восприятия языков (это все-таки средство общения, хотя и с компьютером), зависящий от их характера, темперамента, опыта работы, психологии, в конечном счете, определяющий привязанности. Не последнюю роль здесь играют и успешно завершенные разработки с использованием данных средств программирования, которые, как собственные "дети" постоянно напоминают о себе в сознании и памяти.
По-другому выглядит проблема выбора средств реализации системы для руководителей проектов, групп разработчиков и заказчиков. Здесь на первое место выступает уже не интуиция и привязанности, хотя и это присутствует, а довольно большой набор формальных и неформальных критериев для выбора средств реализации системы. Основная проблема в данном случае лежит фактически в решении многокритериальной задачи с одновременным набором формальных и неформальных критериев. Перечислим некоторые, хотя, конечно, без претензий на общность и завершенность, чтобы показать, насколько сложна задача выбора. Не буду их упорядочивать по значимости (кстати, это тоже непростая задача), а просто перечислю:
Для сравнения мы выбрали распространенные программные продукты Centura Team Developer (CTD) и Borland Delphi (BD). С почти таким же успехом мы могли бы сравнивать Oracle Developer (Power Builder и др.) и Borland CPP Builder (MS Visual C и др.), хотя у каждого из программных средств читатель наверняка найдет неоспоримые преимущества по сравнению с другими продуктами. Но на основе информации, изложенной ниже, наверняка станет ясно, почему выбор пал именно на эти продукты. Рассмотрим сравнение хотя бы по некоторым из перечисленных критериев.
Программист для решения своих задач, несмотря на все сложности освоения, будет стараться выбрать наиболее универсальный инструмент. Это вызвано его желанием в любом случае решить поставленную задачу и реализовать все проектные решения. С позиций руководителя такой выбор не всегда обоснован, так как обоснование сроков разработки и ее трудоемкости лежит на его совести. Заказчик, в свою очередь, хочет получить результат в самые короткие сроки и с наивысшим качеством. Собственно говоря, налицо скрытые противоречия, которые влияют на выбор средств реализации информационной системы.
BD базируется на универсальном языке объектно-ориентированном ПАСКАЛе, который позволяет создавать системы практически в любой области. CTD, в свою очередь, базируется на языке SAL (Scalable Application Language), который, несмотря на свою универсальность и близость к языку СИ, является все-таки специализированным языком создания информационных систем. В этот язык введены стандартные объекты и операторы, ориентированные на решения поставленных задач. Специализированные языки и специализированные системы программирования по определению всегда эффективнее применять для своей области. С этих позиций использование CTD для построения информационных систем можно считать предпочтительным.
Другим важным аспектом, влияющим на задачу выбора, является уровень подготовки и профессионализм программистов, участвующих в разработке. Все средства разработки можно разбить на классы, в зависимости от квалификационных требований к программистам и поставить им в соответствие классы квалификации программистов, таких как:
В целом, можно сказать, CTD обладает всеми необходимыми средствами для создания группы разработки систем, состоящими, в свою очередь, из разных групп программистов. При этом система построена таким образом, что для поставленных целей может использоваться и разными группами программистов отдельно. Найдена некоторая "золотая середина" – компромисс между сложностью и эффективностью. И, хотя в BD можно также реализовать многое из сказанного выше, эта система в первую очередь ориентируется на программистов третьей группы, что мне удастся, надеюсь, показать ниже.
В CTD представлена уникальная, в других системах программирования такой нет, модель представления программного текста (Outline). Я называю эту модель объемным представлением программы. Эта модель базируется на принципах структурного программирования и обеспечивает быстрый доступ к объектам и методам программы, легкую ориентацию в сложных текстах и целостное представление программы. По своей сути эта модель похожа на структуру документа в MS Word. К ней достаточно быстро привыкаешь и начинаешь применять на практике все ее преимущества. Введенная структуризация текста программы не мешает программисту, помогает избежать лишних ошибок и позволяет удобно манипулировать программными составляющими. Во всех других системах, включая и BD, мы имеем в наличии плоское представление программы, как совокупности исходных текстов, что затрудняет поиск нужного фрагмента и целостное восприятие программы. Чтобы меня правильно поняли, отмечу, что модули и библиотеки в CTD тоже есть. Здесь тоже, в представлении программы, найдена "золотая середина" между сложностью программы и ее представлением.
Другой особенностью CTD является наглядная и простая система стандартных классов, которые по сути дела скрыты от начального пользователя. При этом не теряются возможности использования объектов программы и их настройки. В BD наоборот, даже для начального использования нужно фактически изучить эти все классы, что является фактически изучением нескольких новых языков программирования, со своей логикой, операциями, синтаксисом и семантикой, которая от версии к версии может изменяться. Даже для программистов второй группы такое изучение может стать камнем преткновения. Опять же отмечу, что в CTD существуют возможности описания собственных классов, которые разбиты на типы и имеют свои особенности при построении. Здесь также найден компромисс ("золотая середина") для реализации механизмов объектного программирования. Если с этих позиций сравнивать наши продукты, то CTD опять же окажется в выигрыше.
Приближаясь к завершению, отмечу также, что в CTD более развиты средства взаимодействия со всеми известными и распространенными SQL СУБД, для некоторых их них реализованы специальные роутеры, что позволяет без снижения эффективности, какое обычно имеет место при использовании ODBC, получать доступ к данным. В BD такие возможности реализованы пока только с СУБД Interbase и делаются для новых версий СУБД Oracle.
Помимо всех перечисленных особенностей хочу выделить и встроенные CASE средства в CTD, реализованные в Team Object Manager, который обеспечивает коллективную разработку программ, проектирование систем и сопровождение версий программных продуктов. Подробнее об этих возможностях смотрите в статье на сайте.
В CTD заложены и реализованы механизмы построения WEB приложений, поддержки разнообразных Интернет-технологий, об этом также есть информация в предыдущих статьях на нашем сайте.
Подводя итоги, можно сказать, что в области построения информационных бизнес систем Centura Team Developer имеет ряд неоспоримых преимуществ по сравнению с Borland Delphi. Они заключаются, если коротко, в следующем: специализация в области информационных систем, учет специфики и групп программистов, ориентация на коллективную разработку систем, объемное представление программ, широкий спектр поддерживаемых СУБД, меньшая трудоемкость обучения и программирования, интеграция современных WEB технологий для взаимодействия с БД.
Borland Delphi в свою очередь опирается на более распространенный язык объектный Паскаль, имеет широкую распространенность, высокую универсальность и ориентацию на программистов высокой квалификации. Если речь идет не о создании информационных систем, то BD (или системы, базирующиеся на языке СИ) могут оказаться предпочтительными. Если Вам необходимо создавать сложные информационные системы, то предпочтительнее выбрать Centura Team Developer.
В завершении данной статьи приведу некоторую общую характеристику свойств CTD, собранных воедино. Это позволит создать целостный взгляд на систему (при желании этот раздел можно и опустить при чтении). В целом возможности CTD следующие:
Обсудить на форуме Centura Software
Отправить ссылку на страницу по e-mail
Interface Ltd.Отправить E-Mail http://www.interface.ru |
|
Ваши замечания и предложения отправляйте автору По техническим вопросам обращайтесь к вебмастеру Документ опубликован: 20.03.01 |