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

 

Уважаемый г-н Биллиг!

 

Прочитав Вашу статью в еженедельнике PC Week/RE от 13 мая, я долго раздумывал, что мне делать: гордо проигнорировать Ваши аргументы или же подробно объяснить, в чем Вы ошибаетесь (со стороны, знаете ли, виднее...). Я избрал второе, поэтому и пишу это письмо.

 

Меня зовут Андрей Черепахин. Сейчас я работаю веб-мастером, а на Паскале пишу еще с 10 класса школы. Поэтому мне было особенно неприятно читать Ваши не совсем обоснованные доводы в пользу Microsoft Visual C++. Попробую их прокомментировать.

 

Прежде всего о письмах. Первое письмо действительно не может считаться не чем иным, как похвалой Вашей книге (против нее я ничего не имею). Поэтому непонятна причина, по которой оно Вами приведено. Точно так же я могу вспомнить не один десяток людей, вынужденных писать на Delphi  -  в соответствии с условиями контракта. Так что считать это “аргументированной поддержкой”, я думаю, не стоит.

 

Про второе письмо один мой знакомый сказал буквально следующее: “Будь я на месте

 

В. А. Биллига, я бы поостерегся приводить в качестве довода мнение третьекурсника”. Согласитесь, что искания молодых программистов, которым, мягко говоря, все равно какой язык начинать изучать, мало кому интересны. В реальной жизни существенным доводом в пользу того или иного программного средства является знание его особенностей. К сожалению, в Вашей статье ничего не сказано об отличиях Object Pascal от Cи++ в свете последних инноваций.

 

В письме же студента удивляет множество вещей:

 

Почему он обошел вниманием такой профессиональный продукт, как Visual Basic?

 

Почему отказался от Borland Delphi (хотя является начинающим программистом)?

 

Почему за полгода успел опробовать только пять программных продуктов?

 

Что же это за задача такая  -  рассеивание радиоволн, что при ее программировании приходится заботиться о будущем фирмы-поставщика (!)?

 

Кроме того, я не стал бы опрометчиво заявлять, что использование MFC не с продуктом ее создателя влияет на качество этой библиотеки. Согласитесь, это абсурдное утверждение, только дискредитирующее Microsoft. Ну и так далее.

 

Будем же снисходительны к ошибкам третьекурсников  -  они еще действительно многого не знают и их представления о многом ошибочны. Но меня удивляет тот факт, что Вы  -  уважаемый человек с солидным жизненным опытом  -  позволили себе привести в качестве аргумента такое письмо. Оно противоречиво и неполно. В нем не приведено ни одного сопоставления возможностей систем программирования и не просматривается никакого опыта работы ни в одной из систем. Уверен, Вы понимаете, что зачастую программы проявляют свою сущность и возможности далеко не с первого раза  -  часто происходит так, что чем дольше ты с ними работаешь, тем сильнее восхищаешься их возможностями, которые незаметны глазу поверхностного наблюдателя. Тем более недопустимо делать на основе этого письма какие-либо выводы о “большей подходимости Visual C++”. Вполне возможно, что таким заявлением Вы обрекаете начинающих программистов на долгие муки с неудобной средой. Я бы попросил Вас в дальнейшем остерегаться подобных голословных (как оказывается) утверждений.

 

Далее. Я абсолютно согласен с Вашим утверждением во втором абзаце третьей колонки. Действительно, в отличие от Visual C++ программная среда Borland Delphi не требует таких нечеловеческих усилий для изучения и использования. Более того, идеология Borland Delphi, как выяснилось, прекрасно согласуется с идеологией так называемой быстрой разработки приложений (RAD), и создание программ с помощью именно Borland Delphi происходит эффективнее, быстрее, качественнее, чем с помощью Visual C++. И это не просто слова. Сегодня многие корпорации, например DHL, предпочли для разработки именно Borland Delphi, отвергнув VC++. (Добавлю, что вопросу использования Borland Delphi в технологии RAD посвящена моя дипломная работа, где приводятся эти аргументы в более развернутом виде.)

 

Теперь о Web-узлах. Не подумайте, что я Вам не доверяю, но не могли бы Вы прислать мне адреса тех узлов, где Вы видели объявления о вакансиях и где Вы не нашли объявлений о том, что требуются программисты на Delphi. В ответ я обещаю выслать вам не менее 50 адресов узлов, где помещены объявления, что таковые требуются.

 

Мой жизненный опыт говорит о том, что программисты на Delphi нужны. Один мой знакомый на днях уехал в США  -  программировать на Delphi. И когда Вы утверждаете, что на программистов в среде Delphi нет спроса, Вы просто заблуждаетесь. Обидно то, что на основании своих заблуждений Вы делаете далеко идущие некорректные выводы.

 

По поводу обучения студентов программированию, могу сказать: предлагаемая Вами методология неэффективна и однобока (“однофирменна”). Если Вам интересно, могу указать те места, где вы не учитываете реальную ситуацию. К счастью, в вузах программистов учат программировать не только на Бейсике, а непрограммистов, наоборот, даже Бейсику редко где учат. Первым этого языка мало, а вторым он просто не нужен.

 

Говоря об уровнях программирования, Вы забываете еще одну область  -  т. н. Programming in Large, где не поможет VC++, а требуются 4GL или  -  вы удивлены?  -  Borland Delphi. К сожалению, эти “суперпроекты” или “бизнес-проекты” выпали из Вашего поля зрения. Поэтому Ваш совет о выборе программного инструментария опять (в который раз!) может привести к существенным искажениям действительности для начинающего программиста.

 

Еще раз замечу, что, хотя OWL и можно откомпилировать в Delphi, обычно в ней используют гораздо более удобную VCL. (Отгоняю подозрение, что эта ошибка сделана намеренно  -  для переклички с письмом третьекурсника.)

 

Перечисляя отличия, Вы приводите только одно существенное  -  способность влиять на код. Здесь я молчу: не видел, не знаю. Скажу только, что в условиях, когда “на порядок выросла сложность систем”, оптимизация особой роли не играет (кстати, где была эта чудо-оптимизация, когда компилировали Windows NT? Я что-то не думаю, что полученный код очень уж оптимален и быстр). Зато Вы проигнорировали целый ряд преимуществ Delphi  -  визуальность, скорость работы, быстрота компиляции, справочная система, исходные тексты, множество примеров в комплекте поставки и в Интернет и так далее. Позвольте не согласиться с Вами в том, что DLL, ActiveX, DAO  -  это средства поддержки больших проектов. Под последними обычно понимают нечто другое  -  VCS, 4GL, диаграммеры, кодогенераторы, автотестеры и др.

 

И немного об открытости. Borland Delphi  -  это одна из тех программ, которая открывается далеко не первому встречному. Вполне возможно, что Вы просто не заметили Open Tool API этой среды, однако это не означает, что Delphi  -  не открытая система. Просто случайному прохожему не понять всей ее красоты  -  понимание глубины приходит только к умелому и упорному. Можно очень быстро исчерпать все “открытости” VC++, лежащие на поверхности, и никогда не достичь той гибкости, которую дает Delphi. Поспешность  -  не из тех качеств, которые нужны при программировании в этой среде. Повторюсь, что если кто-то чего-то не увидел, то это не значит, что этого “чего-то” нет.

 

В заключение хотелось бы сказать, что грамматики языков Cи++ и Фортран очень и очень отличаются друг от друга. Мне даже неудобно это говорить, но если бы Вы были знакомы с предметами “конструирование компиляторов” и “языки программирования”, то Вы, даже из желания “пофрондерствовать”, не сказали бы, что Cи++ ожидает большое будущее. Я оптимист. У Borland Delphi есть некоторые неудобные черты, но я верю, что они будут исправлены. А если компания Borland разорится, то ее купит какая-нибудь более удачливая фирма, Sun Microsystems например, которая обеспечит большое будущее удобному, гибкому, визуальному, быстрому, открытому, настраиваемому и популярному программному продукту Borland Delphi.

 

P.S. Искренне надеюсь, что Ваша статья  -  не заказная.

 

Андрей Черепахин

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