Третья мировая война 10.02.2004 Андрей Драница
Короче говоря, если почитать пресс-релизы и прочие агитки, то накатывает умиление, от которого можно довольно быстро избавиться. Как? Достаточно поработать с системой и попытаться съехать с автотрассы на бездорожье. И вот тут начинаются мелкие пакости и неувязки. Начнем с того, что подключить сторонний компилятор, а именно Mono, мне так и не удалось (и не только мне). Насколько я понял, это связано с тем, что в настройках железно прописано: компиляция осуществляется только через CSC.exe, так что ни подключить другой компилятор, ни использовать, например, C++ не получится. То есть имеется поддержка только C# и VB.NET, хотя во вкладке нового проекта VB.NET отсутствует. Со справочной системой тоже не все в порядке: порой создается ощущение, что ее тексты "утянуты" из справки Java. И самое главное, разочаровывает IDE. Мало того, что в среде разработчика нет ничего революционного, чего от Borland ожидали многие, так еще и возможности, ставшие стандартом, либо отсутствуют, либо тормозят. Подсветка синтаксиса (рис. 10), множественные закладки и code competition есть, но выполняются медленно, даже на неслабой машине c полугигабайтом памяти. Причем этим мелкие пакости не заканчиваются: есть проблемы с поддержкой рефакторинга, процедура инсталляции может тормозить, да и вообще многие вкусности, присутствующие в IDE JBuilder, почему-то отсутствуют в C#Builder. На мой взгляд, в этом вопросе Borland перестаралась, оптимальным является подход Microsoft - взять, поднатужиться и сделать пусть одну, зато хорошую IDE для всех продуктов. Именно так дело и обстоит в VS.NET (до этого, например, Visual Basic 6 имел другую, пусть и очень похожую среду, нежели VC++ 6). Borland же поступила иначе: теперь IDE, гордо именуемая UDE (универсальная среда разработки), разделена на: - Borland developer Studio .NET UDE для C#Builder; Осилит ли компания поддержку на уровне всех трех UDE, еще тот вопрос. Разумеется, после таких сюрпризов всякие нюансы вроде сложностей при реинжиниринге баз данных в модели для дальнейшего использования, возможности (читай, необходимости) работать с базами данных через фирменный борландовский провайдер доступа к данным (Borland Data Provider) наряду с ADO.NET не вызывают сильных эмоций. Театр начинается с вешалки …а разработка ПО - с проектирования, и в дальнейшем - рефакторинга и сопровождения, и если раньше с этим у Borland было не все в порядке (то есть почти никак), то теперь компания озаботилась этим аспектом всерьез. Так как основные силы были брошены на создание профильных продуктов, Borland, не мудрствуя лукаво, пошла проторенной дорожкой и купила интересующие ее фирмы с их технологиями. Нишу проектирования занимает пакет Together от TogetherSoft, и хотя признанным лидером в этой области являются продукты Ration Rose, Borland сделала серьезный шаг вперед. Если коротко, Together - это целое семейство продуктов для моделирования на языке UML (версии 1.4), поддерживающее синхронизацию с исходным кодом программ, написанных на Java, C# и Delphi. Вместе с модулем Borland Live пакет обеспечивает синхронизацию в режиме реального времени между проектом приложения и его моделью. Причем взаимосвязь двусторонняя: при изменении исходных текстов тут же меняется модель, если же меняется модель, то изменяются тексты. Помимо генерации кода, Together полезен и для отлавливания ошибок9, проверки соответствия заданным методикам и шаблонам программирования. Пакет не только тесно интегрирован со всеми IDE от Borland, но и допускает работу со сторонними IDE, например, от Microsoft (Together Edition для Microsoft Visual Studio .NET). Далее логично перейти к StarTeam (от StarBase). Формально это комплексная автоматизированная система управления конфигурацией программного обеспечения (Software Configuration Management, SCM), которая передает рычаги управления жизненным циклом приложения из рук разработчиков в руки проектировщиков. Ее главное назначение - контроль версий, но в StarTeam есть и зачатки средств совместной работы типа Novell GroupWise (естественно, ориентированных на разработчиков ПО с их специфическими требованиями). Так что архитекторам достается интегрированная среда, позволяющая управлять техническими характеристиками приложений и их изменением, контролировать потоки, возникающие баги и процедуру их устранения (bug track), что позволяет автоматизировать обработку практически всего спектра вопросов, всплывающих при проектировании ПО. К тому же, в программе есть инструментарий для управления потоком задач и управления проектом, дискуссионные форумы, и все это - с поддержкой распределенных проектных групп, что обеспечивает совместную работу удаленных участников. В качестве системы версионного контроля у StarTeam есть свои вкусности: например, она может организовывать на клиенте личный репозиторий разработчика, позволяет работать не только с собственной базой данных, но и с базами VSS и PVCS. Название третьей "примочки" - CaliberRM - очень напоминает модную нынче аббревиатуру CRM (управление отношениями с клиентами). Не знаю, случайно это или нет, но система CaliberRM отвечает именно за управление требованиями к приложению, то есть адекватное донесение требований заказчиков до конечных исполнителей. Естественно, с отслеживанием процесса выполнения пожеланий народа - от отправки запроса через его исполнение и тестирование до "сдачи-приемки". Каждому требованию могут быть назначены разнообразные свойства, например, приоритет или взаимосвязь с другими требованиями, причем, что особенно приятно, для последнего аспекта поддерживается и графическая визуализация, а не просто табличка. Все упомянутые модули (CaliberRM, StarTeam, Together) тесно связаны друг с другом и с IDE, так что многие функции не привязаны к какому-то одному модулю, а "возникают" при интеграции. Собственно, в такой тотальной интеграции среды разработки со всем сопутствующим ПО и лежит один из новых принципов "программирования по Борланду" - управление жизненным циклом приложения (Application Life Cycle Management, ALM). Немного грустный постскриптум Безусловно, новые продукты порадуют фанатов Borland. Вроде бы компания живет и развивается, но если заглянуть в прошлое, то новые инициативы вызывают сомнения: а сдюжит ли? Сидение на двух стульях - Java и .NET - занятие не только трудоемкое, но и почти взаимоисключающее, ведь эти платформы конкурируют в целом ряду ниш. Справится ли маркетинговая машина с работой на два фронта? Сможет ли Borland создавать лучшие продукты для .NET, чем Microsoft? Посмотрим. Неодназначна и ситуация с унаследованным ПО. Представьте такую ситуацию: вы создавали некий коммерческий (или заказной) продукт на C++Builder, и тут вам заявляют, что следующей версии вашей RAD не будет. Как при минимальных затратах перевести приложение на новые рельсы? Формально разработчиков на C++Builder призывают вставать под знамена C++BuilderX. С другой стороны, ваша программа была ориентирована только на Windows (ведь ни на чем другом программы, писанные на C++Builder, не работали), так что переходить надо на C#Builder - новое средство именно для Windows-программирования. В результате, многие пребывают в тягостных раздумьях: порой легче все переписать заново, чем перейти на C++BuilderX. Переход на C#Builder проще, но он проигрывает VS.NET. Я не проводил достаточно репрезентативных опросов, но как мне кажется, происходит плавная миграция на VS.NET, на Delphi 8 и только в последнюю очередь - на C++BuilderX или C#Builder. Для тех, кто ждал новостей про Kylix, у меня только печальные вести. На вопрос, как насчет дальнейшей разработки Delphi под Linux и развития Kylix, на конференции Borland Developer’s Day 2003 был дан примерно такой ответ: "Никак. Сейчас Delphi развивается в направлении .NET". 9 Имеются в виду не синтаксические, а скорее, логические ошибки, которые с точки зрения выполнения программы не фатальны, но тем не менее, снижают производительность, могут служить источником дыр и т. д. Ссылки по теме:
|