Взгляд на C# Builder от Borland
Взгляд на C# Builder от Borland
Среда C# Builder от компании Borland — изобретателя интегрированной среды разработки (IDE) — не оправдала возложенных на нее надежд. Причем как самих разработчиков, так и пользователей-программистов. Это, наверное, одно из самых больших и тяжелых разочарований для Borland. Теперь стало ясно, что в острой ценовой конкуренции, тяжелой рыночной борьбе за разработчиков с Visual Studio .NET 2003 от софтверного гиганта из Редмонда C# Builder, скорее всего, проиграет с большим отставанием.
В общем-то, с фундаментальной задачей создания кода программа справляется. Не так хорошо, как VS.NET, но достаточно терпимо. К тому же, есть несколько небольших нововведений, которые можно считать облегчающими жизнь программиста. Однако, и меня, почему-то, это совсем не удивляет, использована любимая "Борландом" технология создания новых программных продуктов — на технологической платформе компилятора Microsoft создана своя оболочка. И, как будто Редмонд приплатил "Борланду", вы не сможете подключить Mono (Mono — альтернативный компилятор C# с открытым исходным кодом).
И, хотя C# Builder может тесно интегрироваться с другими ведущими продуктами "Борланд" — скажем, с технологией Together's UML и системой управления требованиями Caliber, производственного толка и пользы от этой интеграции будет мало. Но, опять же, есть и положительный момент. C# Builder может запросто работать с Janewa (программное обеспечение, которое позволяет NET-приложениям взаимодействовать с серверными компонентами J2EE и CORBA), а также превосходно работает с СУБД сторонних производителей: Oracle, DB2 и СУБД от "Борланд" InterBase.
Компания "Борланд" имеет долгую и славную историю, которая начинается с Turbo Pascal. А в следующем месяце она отпразднует 20-летие создания IDE — среды интегрированной разработки. Ее продукты всегда конкурировали с ведущими программами на рынке, и, более того, зачастую "Борланд" оказывалась первой. Пакет J Builder является самой популярной полноценной средой разработки для языка Java, что подтверждает высокие стандарты компании. Поэтому к C# Builder также предъявляются самые строгие требования. И никто не ожидает от компании "Борланд" чего-то обыкновенного, просто все ждут от нее новое, еще выше поднимающее планку качества программ и удобства работы.
Для того чтобы узнать, плох или хорош C# Builder, его нужно получить. Для этого существуют две возможности. Первая — скачать с сайта компании пробную версию. Вторая — заказать коробочную версию программы. Вот о ней и поговорим.
Итак, версия Enterprise предлагается нам на двух дисках. Она является второй по количеству включенных в нее дополнительных программ и утилит. Именно эта версия, на мой взгляд, более всего подошла бы корпоративному разработчику. Впрочем, версия Architect не сильно отличается от Enterprise — всего лишь возможностью создавать и работать с несколькими UML-схемами одновременно. В поставку также может быть включен и третий CD, содержащий сторонние программы и утилиты. В коробочной версии вам также достанутся СУБД: Microsoft SQL Server — Developer Edition, IBM DB2 и Borland InterBase 7. Там же можно найти пакеты Crystal Reports, Install Shield, Studio One Enterprise. На СУБД стоит заострить внимание, так как "Борланд" заявляет, что ее драйверы для ADO.NET работают быстрее, чем аналогичные от Microsoft. Это, правда, не относится к драйверам для Microsoft SQL Server.
Среда разработки еще не шагает по планете в полном смысле этого слова, однако уже известно несколько интересных особенностей ее работы. Например, если при инсталляции не устанавливать драйвер для СУБД Oracle, то при загрузке каждый раз среда будет выдавать два сообщения об ошибке, хотя загрузка программы будет идти дальше надлежащим образом. Вообще, процедура установки выглядит крайне сырой. Мало того, что процесс установки занимает около двух часов, так еще очень часто в тривиальных случаях мастер непонятно зависает, а мастер регистрации вообще обрадовал меня тем, что, как оказалось, у меня нет в регистрационной записи "Борланд" функции Retrieve Password.
Отдельно хочется рассказать и о справочной системе. Было приятно, что в справку включен раздел Tutorial, но в общем содержание справки выглядит блекло. Так что наличие Tutorial'а — единственная отдушина. Все тексты крайне плохо редактированы и слишком склоняются к Java. Например, часть Урока 17 об исключениях утверждает: "Обработка исключений в C#, очень похожа на их обработку в Java. Однако, язык C# тут больше похож на C++, давая возможность программисту игнорировать значительно больше возникающих исключений (исключение, которое возникло, но не было обработано, приведет к аварийному завершению программы и появлению диалогового окна)". Даже если не обращать внимания на ошибки пунктуации, данное утверждение вводит программиста в заблуждение. Правильнее было бы сказать, что в C# все исключения действуют как ошибки времени исполнения в Java.
Дальше — больше. В редакторе кода нет ничего, что могло бы удостоиться особенного внимания. Закладки и подсветка кода уже давно считаются само самой разумеющимися. Автоматическая подстановка кода есть, но работает она так, что в сравнении с тем же VB .NET напоминает маленького неуклюжего медвежонка. Справочная система навевает тоску, когда пытаешься прочитать разделы справки по слову "macros" для поиска возможности запрограммировать пользовательские макросы, а вместо этого сидишь и читаешь раздел MFC Message Maps из раздела Visual C++ Concepts. Нет, я, конечно, понимаю, что знать основы С++ полезно для молодого растущего организма, но чтобы так… В общем, индексный файл справки не похож сам на себя.
В бочку дегтя добавим ложку меда. Одной из них является диалог New Project в C# Builder, который включает в себя широкий спектр опций по созданию приложений на Visual Basic .NET. И хотя некоторые визуальные изыски с этими проектами не работают, в среде можно редактировать, компилировать, отлаживать и запускать проекты на VB .NET. Так что, если Borland удастся украсть у Microsoft кого-то из разработчиков на Visual Basic .NET, я буду очень впечатлен этим фактом.
Если требуется отойти от VB .NET — скажем, разработчик хочет создать приложение на основе C# WinForms, — то и тут его ждет разочарование. За все это время компания ничего нового не придумала — IDE все та же. Процесс создания интерфейса программы особых изменений не претерпел. Если не считать, конечно, что при работе с Data Provider BdpConnec-tion у меня пару раз выскочило сообщение об ошибке из-за того, что драйвер для Oracle не был установлен. Все стандартные компоненты WinForms в IDE присутствовали, как и компоненты сторонних разработчиков — например, Component One. А вот работала IDE ужасно. Даже на очень хороших и быстрых компьютерах (512 Mb RAM и GeForce4Ti200) окно редактора мигало при печати кода. Да, не нам учить "Борланд", что редактор кода — кровь и плоть IDE. Она и сама знает, как все испортить.
C# Builder может интегрироваться с некоторыми другими программами — например, с CaliberRM — своеобразной системой управления требованиями, — но в поставке с C# она идет только как приложение-клиент и может подключаться к уже существующим базам Caliber, а версии Lite нет. Поэтому создать свою базу и работать с ней в небольших проектах, для чего она, собственно, и создавалась, у вас не получится.
"Борланд", несомненно, имеет очень большой опыт создания по-настоящему полномасштабных, удобных в работе, простых в освоении и богатых функционально сред разработки (достаточно посмотреть на J Builder), и становится действительно непонятно, почему многие из полезных функций не были встроены в C# Builder. Поддержка рефакторинга отсутствует как таковая, хотя в J Builder'е можно было использовать nAnt и nUnit — два популярных проекта с открытым исходным кодом для управления сборкой проектов и тестирования их модулей. CVS-систему также невозможно привязать к среде разработки. Стоит ли еще говорить, что не только не инсталлируется компилятор Mono, но и вообще не существует возможности отказаться от компилятора по умолчанию — отключить в среде компилятор Microsoft невозможно.
C# Builder на данный момент является единственной произведенной не Microsoft полнофункциональной средой разработки приложений для платформы .NET. На беспощадном и жестоком рынке .NET можно выжить лишь в том случае, если представленный продукт стабилен, удобен и функционален — впрочем, об этом уже говорилось. В прошлом "Борланд" доказала, что может идти вровень с Microsoft, а то и обогнать ее. И я думаю, что еще наступит день, когда это случится снова, и "Борланд" представит свои разработки, которые поспорят на равных с Visual Studio .NET. На данный же момент остается только недоумевать, каким образом она смогла выпустить столь странный продукт, и как такое случилось.
Пока же я знаю, что C# Builder скоро просто умрет как программный продукт. Как среда разработки, если судить по отношению к нему компании-разработчика, он умер еще до рождения.
Денис "Denver" Мигачев, dtm@tut.by
Среда C# Builder от компании Borland — изобретателя интегрированной среды разработки (IDE) — не оправдала возложенных на нее надежд. Причем как самих разработчиков, так и пользователей-программистов. Это, наверное, одно из самых больших и тяжелых разочарований для Borland. Теперь стало ясно, что в острой ценовой конкуренции, тяжелой рыночной борьбе за разработчиков с Visual Studio .NET 2003 от софтверного гиганта из Редмонда C# Builder, скорее всего, проиграет с большим отставанием.
В общем-то, с фундаментальной задачей создания кода программа справляется. Не так хорошо, как VS.NET, но достаточно терпимо. К тому же, есть несколько небольших нововведений, которые можно считать облегчающими жизнь программиста. Однако, и меня, почему-то, это совсем не удивляет, использована любимая "Борландом" технология создания новых программных продуктов — на технологической платформе компилятора Microsoft создана своя оболочка. И, как будто Редмонд приплатил "Борланду", вы не сможете подключить Mono (Mono — альтернативный компилятор C# с открытым исходным кодом).
И, хотя C# Builder может тесно интегрироваться с другими ведущими продуктами "Борланд" — скажем, с технологией Together's UML и системой управления требованиями Caliber, производственного толка и пользы от этой интеграции будет мало. Но, опять же, есть и положительный момент. C# Builder может запросто работать с Janewa (программное обеспечение, которое позволяет NET-приложениям взаимодействовать с серверными компонентами J2EE и CORBA), а также превосходно работает с СУБД сторонних производителей: Oracle, DB2 и СУБД от "Борланд" InterBase.
Компания "Борланд" имеет долгую и славную историю, которая начинается с Turbo Pascal. А в следующем месяце она отпразднует 20-летие создания IDE — среды интегрированной разработки. Ее продукты всегда конкурировали с ведущими программами на рынке, и, более того, зачастую "Борланд" оказывалась первой. Пакет J Builder является самой популярной полноценной средой разработки для языка Java, что подтверждает высокие стандарты компании. Поэтому к C# Builder также предъявляются самые строгие требования. И никто не ожидает от компании "Борланд" чего-то обыкновенного, просто все ждут от нее новое, еще выше поднимающее планку качества программ и удобства работы.
Для того чтобы узнать, плох или хорош C# Builder, его нужно получить. Для этого существуют две возможности. Первая — скачать с сайта компании пробную версию. Вторая — заказать коробочную версию программы. Вот о ней и поговорим.
Итак, версия Enterprise предлагается нам на двух дисках. Она является второй по количеству включенных в нее дополнительных программ и утилит. Именно эта версия, на мой взгляд, более всего подошла бы корпоративному разработчику. Впрочем, версия Architect не сильно отличается от Enterprise — всего лишь возможностью создавать и работать с несколькими UML-схемами одновременно. В поставку также может быть включен и третий CD, содержащий сторонние программы и утилиты. В коробочной версии вам также достанутся СУБД: Microsoft SQL Server — Developer Edition, IBM DB2 и Borland InterBase 7. Там же можно найти пакеты Crystal Reports, Install Shield, Studio One Enterprise. На СУБД стоит заострить внимание, так как "Борланд" заявляет, что ее драйверы для ADO.NET работают быстрее, чем аналогичные от Microsoft. Это, правда, не относится к драйверам для Microsoft SQL Server.
Среда разработки еще не шагает по планете в полном смысле этого слова, однако уже известно несколько интересных особенностей ее работы. Например, если при инсталляции не устанавливать драйвер для СУБД Oracle, то при загрузке каждый раз среда будет выдавать два сообщения об ошибке, хотя загрузка программы будет идти дальше надлежащим образом. Вообще, процедура установки выглядит крайне сырой. Мало того, что процесс установки занимает около двух часов, так еще очень часто в тривиальных случаях мастер непонятно зависает, а мастер регистрации вообще обрадовал меня тем, что, как оказалось, у меня нет в регистрационной записи "Борланд" функции Retrieve Password.
Отдельно хочется рассказать и о справочной системе. Было приятно, что в справку включен раздел Tutorial, но в общем содержание справки выглядит блекло. Так что наличие Tutorial'а — единственная отдушина. Все тексты крайне плохо редактированы и слишком склоняются к Java. Например, часть Урока 17 об исключениях утверждает: "Обработка исключений в C#, очень похожа на их обработку в Java. Однако, язык C# тут больше похож на C++, давая возможность программисту игнорировать значительно больше возникающих исключений (исключение, которое возникло, но не было обработано, приведет к аварийному завершению программы и появлению диалогового окна)". Даже если не обращать внимания на ошибки пунктуации, данное утверждение вводит программиста в заблуждение. Правильнее было бы сказать, что в C# все исключения действуют как ошибки времени исполнения в Java.
Дальше — больше. В редакторе кода нет ничего, что могло бы удостоиться особенного внимания. Закладки и подсветка кода уже давно считаются само самой разумеющимися. Автоматическая подстановка кода есть, но работает она так, что в сравнении с тем же VB .NET напоминает маленького неуклюжего медвежонка. Справочная система навевает тоску, когда пытаешься прочитать разделы справки по слову "macros" для поиска возможности запрограммировать пользовательские макросы, а вместо этого сидишь и читаешь раздел MFC Message Maps из раздела Visual C++ Concepts. Нет, я, конечно, понимаю, что знать основы С++ полезно для молодого растущего организма, но чтобы так… В общем, индексный файл справки не похож сам на себя.
В бочку дегтя добавим ложку меда. Одной из них является диалог New Project в C# Builder, который включает в себя широкий спектр опций по созданию приложений на Visual Basic .NET. И хотя некоторые визуальные изыски с этими проектами не работают, в среде можно редактировать, компилировать, отлаживать и запускать проекты на VB .NET. Так что, если Borland удастся украсть у Microsoft кого-то из разработчиков на Visual Basic .NET, я буду очень впечатлен этим фактом.
Если требуется отойти от VB .NET — скажем, разработчик хочет создать приложение на основе C# WinForms, — то и тут его ждет разочарование. За все это время компания ничего нового не придумала — IDE все та же. Процесс создания интерфейса программы особых изменений не претерпел. Если не считать, конечно, что при работе с Data Provider BdpConnec-tion у меня пару раз выскочило сообщение об ошибке из-за того, что драйвер для Oracle не был установлен. Все стандартные компоненты WinForms в IDE присутствовали, как и компоненты сторонних разработчиков — например, Component One. А вот работала IDE ужасно. Даже на очень хороших и быстрых компьютерах (512 Mb RAM и GeForce4Ti200) окно редактора мигало при печати кода. Да, не нам учить "Борланд", что редактор кода — кровь и плоть IDE. Она и сама знает, как все испортить.
C# Builder может интегрироваться с некоторыми другими программами — например, с CaliberRM — своеобразной системой управления требованиями, — но в поставке с C# она идет только как приложение-клиент и может подключаться к уже существующим базам Caliber, а версии Lite нет. Поэтому создать свою базу и работать с ней в небольших проектах, для чего она, собственно, и создавалась, у вас не получится.
"Борланд", несомненно, имеет очень большой опыт создания по-настоящему полномасштабных, удобных в работе, простых в освоении и богатых функционально сред разработки (достаточно посмотреть на J Builder), и становится действительно непонятно, почему многие из полезных функций не были встроены в C# Builder. Поддержка рефакторинга отсутствует как таковая, хотя в J Builder'е можно было использовать nAnt и nUnit — два популярных проекта с открытым исходным кодом для управления сборкой проектов и тестирования их модулей. CVS-систему также невозможно привязать к среде разработки. Стоит ли еще говорить, что не только не инсталлируется компилятор Mono, но и вообще не существует возможности отказаться от компилятора по умолчанию — отключить в среде компилятор Microsoft невозможно.
C# Builder на данный момент является единственной произведенной не Microsoft полнофункциональной средой разработки приложений для платформы .NET. На беспощадном и жестоком рынке .NET можно выжить лишь в том случае, если представленный продукт стабилен, удобен и функционален — впрочем, об этом уже говорилось. В прошлом "Борланд" доказала, что может идти вровень с Microsoft, а то и обогнать ее. И я думаю, что еще наступит день, когда это случится снова, и "Борланд" представит свои разработки, которые поспорят на равных с Visual Studio .NET. На данный же момент остается только недоумевать, каким образом она смогла выпустить столь странный продукт, и как такое случилось.
Пока же я знаю, что C# Builder скоро просто умрет как программный продукт. Как среда разработки, если судить по отношению к нему компании-разработчика, он умер еще до рождения.
Денис "Denver" Мигачев, dtm@tut.by
Компьютерная газета. Статья была опубликована в номере 41 за 2003 год в рубрике программирование :: разное