Письмо в редакцию

 

С искренним интересом я слежу за дискуссией в PC Week/RE на тему “Delphi или Visual C++, или?..” и нахожу в ней отзвуки очень старых споров, которые крутятся вокруг трех основных вопросов:

 

- что лучше  -  Паскаль или Cи++?

 

- какая интегрированная среда удобнее  -  Borland или Microsoft?

 

- кто вообще круче  -  Borland или Microsoft (имеется в виду, как говорит нынче молодежь, “по жизни”)?

 

Читая материалы дискуссии, так и хочется воскликнуть в стиле кота Леопольда: “Ребята, не ссорьтесь! Давайте жить дружно!”. В конце концов, кому что больше нравится. Объективно  -  правильного выбора просто не существует. В особенности это касается первого направления споров.

 

И на Паскале, и на Cи можно реализовать все! Любые прикладные программы по любой тематике. Так что получается  -  лучше то, к чему привык. Я знаю отличных киевских программистов, которые писали на Паскале BIOS для новых компьютеров IBM-клона. С другой стороны, в 1996 - 1997 годах мы в ООО “Компас” (петербургская фирма, работающая на рынке бухгалтерского и финансового ПО) проводили отбор программистов для работы над комплексным проектом АСУ предприятия. Перед нами прошло несколько сотен человек, из которых по своей квалификации на второй тур было отобрано не более двух десятков (попутно анекдот: среди отсеянных на первом туре была девушка, которая на вопрос: “На каких языках писали?” ответила: “На русском”. Почувствовав, что ляпнула что-то не то, добавила: “И на английском тоже”). Так вот, среди этих “избранных” более 90% сказали, что при прочих равных условиях предпочитают работать на Cи++, а не на Паскале. Вот вам некоторая статистика предпочтения профессионалов.

 

Единственное известное мне объективное возражение против Паскаля привели ведущие программисты “Компаса” Юрий Бармин и Леонид Рудый. Они сказали, что Cи++ как язык развивают многие фирмы, а над Паскалем серьезно работает только Borland. Как известно, одна голова  -  хорошо, а сто  -  лучше! Borland пользуется заслуженным авторитетом в области программирования компиляторов, но гораздо хуже выглядит в качестве разработчика языка (это касается и Borland’овского диалекта Cи++: в нем время от времени появляются явные “ляпы”, изымаемые, слава Богу, уже из следующей версии). В результате какие-то моменты в Паскале оказываются плохо продуманными. Пример: отсутствие автоматического вызова конструктора при объявлении объекта и деструктора при окончании действия объявления, что чревато дополнительными ошибками, выявляемыми только в процессе выполнения программы, или (стоит забыть вызвать деструктор) несвоевременным высвобождением ресурсов. Особенно это сказывается при написании подпрограмм обработки исключительных ситуаций.

 

В начале 1997 г. на свет появился прекрасный компромисс для фирм, в которых трудятся и “паскалисты”, и “сишники”. Это Borland’овский C++ Builder, в котором помимо компилятора Cи++ имеется и встроенный паскалевский компилятор. Благодаря этому, разные части большого проекта могут быть написаны на любом из двух “спорных” языков  -  в зависимости от предпочтений конкретного исполнителя.

 

Теперь по поводу интегрированной среды. Тут, как мне кажется, явные преимущества демонстрирует Borland. Это ее изюминка еще со времен первых версий Turbo C и Turbo Pascal. Сделав солидный стартовый рывок, фирма по-прежнему сохраняет отрыв от всех конкурентов. Недаром после появления Delphi, на сегодняшний день идеального, на мой взгляд, интегрированного языкового пакета, многие “сишники”, если судить по статьям в американских изданиях, обратили свой взгляд на Паскаль. Преимущества среды проектирования оказались важнее любви к конкретному языку.

 

Если удобство интерфейса  -  вопрос в основном личного предпочтения, то наличие богатой библиотеки компонентов  -  это объективная реальность.

 

Для “Компаса” как разработчика экономических программ огромным преимуществом Borland является BDE. Я знаю несколько сторонних разработчиков приложений баз данных, которые оставили Visual C++ из-за отсутствия равноценного инструмента. Когда специалисты нашей фирмы говорят, что использование Visual C++ вместо продукта Borland затормозило бы разработку проекта в несколько раз, в первую очередь они тоже имеют в виду отсутствие BDE.

 

Немаловажным фактором является и наличие в комплекте поставки исходных текстов подавляющего большинства компонентов. Произнося многомудрые слова на тему RAD, многие забывают, что одним из самых старых и надежных способов быстрой разработки приложений является переделка хорошо прокомментированных текстов. Пример? Пожалуйста. Мало кого из создателей рыночных проектов удовлетворяют стандартные средства работы с таблицами. Однако в свое время присутствие образца работы с классом Browse в поставке Clipper 5.01, а затем исходного текста класса TTable в Delphi позволило нам написать свой собственный инструмент за считанные дни.

 

И снова о компромиссе. Все тот же C++ Builder обладает точно такой же интегрированной средой, как и Delphi, но позволяет писать функции “нижнего уровня” на Cи++. В результате, насколько я знаю, многие из упомянутых выше “сишников” возвращаются к продуктам Borland.

 

Наконец, о третьем направлении споров: Borland или Microsoft. Конечно, на Западе, в отличие от России, продукты Microsoft распространены гораздо шире. Это и понятно. Там превалирует “директорская” точка зрения (кстати, у нас в сугубо российском “Компасе” директор рассуждает точно так же): “Связываться надо с заведомо успешной фирмой. Если Borland разорится, то что будет с нашими продуктами?”. Но программистская-то точка зрения (тем более точка зрения неизбалованного технической поддержкой российского программиста) совсем другая: “Все нужные для внутреннего пользования инструментальные программы напишем сами, ошибки обойдем, а через пять (ну семь) лет все равно все придется заново переписывать, ничего из старого не подойдет. Так что если Borland развалится, то мы ничего не потеряем, выбрав инструмент другой фирмы!”. От себя добавлю, что тут кроется преимущество C++ Builder перед Delphi. Если все-таки (ну вдруг!) захочется что-то перетащить из старого проекта, то в случае исчезновения фирмы Borland с лица земли тексты на Cи имеют превосходство перед паскалевскими. Почему? Смотри выше.

 

Если Borland развалится, то Delphi (а я думаю, и C++ Builder) все равно будет существовать. Кто-нибудь да купит! Хотя жаль будет хорошей фирмы. Microsoft из-за своего монополизма и так изрядно проигрывает в качестве продукции, да и симпатии профессионалов подрастеряла. Что же будет, если исчезнет ее основной “языковый” конкурент?

 

Короче, в споре “Delphi или Visual C++, или?..” я голосую за “или...” Выбирайте C++ Builder  -  компромисс между “паскалистами” и “сишниками”. Ребята, давайте жить дружно!        

 

К Игорю Якобсону, главному эксперту ООО “Компас”, можно обратиться по адресу: sensr@kompac.spb.su.

 

Игорь Якобсон

Версия для печати