ПИСЬМО В РЕДАКЦИЮ
Вы, вероятно, подумали, что в заголовке статьи опечатка, если не ошибка? Нет, все верно, я действительно употребил множественное число от слова “программирование”. В конце концов, не зря же называют наш родной русский “великим и могучим” - уж с такой простой задачей, как образование множественного числа от единственного, справится даже начинающий пользователь... Ой, о чем это я - какие пользователи, если речь идет об обычном языке?!
Да, в общем-то, такие же, как и в языках программирования. Просто ключевых слов в обычном языке больше, да и правила посложнее... Правда, и учат такому языку подольше - книжек типа “Японский за 21 день” я пока не встречал. Но не об этом разговор.
Выбор языка - дело хотя и сугубо технологическое, тем не менее весьма интимное (чуть ниже я поясню, что имею в виду). Обосновывать выбор языка программирования вообще, в отрыве от конкретной задачи, условий ее создания и эксплуатации - занятие настолько бесперспективное, что говорить об этом на страницах столь уважаемого мною еженедельника просто несерьезно. Зачем нужен специалист по Ассемблеру в фирме, где для заказчиков пишут только на Clarion’е?
Ко двору ли придется крутой Си-программер там, где работают с 3D Studio и ваяют клипы?
Так ли уж нужно знание Паскаля для администрирования WWW-центра? Ответы на эти вопросы очевидны: есть разные задачи, есть разные языки, и говорить о преимуществе того или иного в отрыве от контекста совершенно конкретного проекта - все равно, что говорить о преимуществе велосипеда перед ножной швейной машинкой, имея в виду процесс рисования пейзажа сапожным кремом по газону...
Технология конкретного проекта вносит основной вклад в упомянутый выбор. Существующие наработки и библиотеки, личностный и особенно коллективный опыт, требования заказчика, пользователей, платформы - как можно не учитывать всего этого? В тех же случаях, когда ограничения не слишком жестки и могут варьироваться в широких пределах, в бой вступает та самая “интимная” сторона - разработчик может быть прекрасно осведомлен о плюсах и минусах тех или иных средств (замечу, средств, а не просто языков!), но... одно из них он любит больше. И все. Дальнейшие дискуссии бесполезны. На чем основана эта любовь - на выразительности синтаксиса, чистоте конструкций, более глубоком знании среды (в том числе и всех “багов” данного компилятора/интерпретатора) - значения не имеет, использоваться будет именно это средство.
По моему скромному разумению, “в приличном обществе” о подобных вещах просто не говорят. О них говорят либо на младших курсах технических вузов, когда дают сводные характеристики средств, указывая их слабые и сильные стороны (да и то применительно к задачам определенного типа!), либо в сравнительно тесных программистских тусовках, где можно вовсю использовать технические особенности конкретных проектов. Давно прошла та пора, когда написание программ для работы с базами данных было прерогативой xBase, расчетные задачи “гоняли” только под клоном Фортрана, а системные утилиты разрабатывались только на Си или Ассемблере. Сегодня более 95% всех задач можно решить десятками способов и десятками средств. В своей статье г-н Биллиг приводит пример полугодового поиска средства программирования для сложного расчета рассеяния. Не собираясь оспаривать уровень квалификации программиста (хотя, замечу в скобках, приводить в качестве серьезного довода эксперименты третьекурсника я бы лично не решился), я более чем уверен, что за эти полгода указанная система уже могла бы быть реализована (по крайней мере частично) и начать работать при использовании любого (в том числе наудачу выбранного) из упомянутых средств. Это письмо, кстати, - живой пример бесполезности и практической вредности подобного рода дискуссий.
Впрочем, академические споры иногда представляют некий интерес. Что ж, посмотрим на статью г-на Биллига с этой точки зрения.
Статья начинается с цитирования двух писем, свидетельствующих о наличии интереса к Visual Cи++. Мм, кто бы спорил... Тем более, о чем же еще писать автору книги о Visual Cи++, ну не о REXX’е же... Дальше, на основании анализа этих писем делается вывод о том, что Си++ в исполнении команды г-на Гейтса... лучше, чем Delphi. Стоп. Этот-то как сюда попал? Почему в противовес одной из мощнейших сред языка Си/Си++, имеющего за собой уже десятки лет истории, ставится потомок Паскаля, родившийся всего два года назад? Да, упоминаются другие средства Си-разработок, но в опале оказывается почему-то Delphi. Странно. Ну ладно.
Упорно тесня невольно закрадывающуюся мысль об “избиении младенцев”, читаю дальше.
Цитата:
“В порядке эксперимента я решил через Интернет поискать работу программиста в США. [+]Требуются программисты со знанием Visual Basic и Си++ (какого именно Си++? Их много, не Visual’ом единым... - Прим. авт.), но заявки на Delphi-программиста я нашел только на сервере Delphi”.
А вот это уже из тех высказываний, которые герой Булгакова Коровьев (он же Клетчатый, он же Регент) прилюдно изобличал прямо на сцене и в присутствии их автора...
Во-первых, одного-единственного сервера Delphi просто не существует. Существуют странички на Borland’овском сервере, плюс огромное число страниц частных лиц и различных компаний, которые посвящены этому продукту. (Замечу: подобных страниц существует великое множество для любого языка.) Видимо, г-н Биллиг полагает, что Интернет недоступен широкому кругу читателей еженедельника, иначе он вряд ли бы “подставился” на такой элементарной ошибке.
Во-вторых, искать работу на серверах крупных компаний - не самое лучшее времяпрепровождение. Ловить рыбу надо там, где она есть, а не там, где удобнее встать с удочкой. Я не хочу отбивать хлеб у рекрутерских компаний, поэтому о правильных методах умолчу (дабы не служить источником лишнего трафика в Сети). Скажу лишь одно: используя ту же самую Интернет в качестве источника информации, мой близкий друг, не “в порядке эксперимента”, а по необходимости, нашел и, самое главное, получил высокооплачиваемую работу в США, и именно связанную с Delphi. Причем, надо сказать, спрос на программистов на Delphi с того времени вырос необычайно, и сейчас друг легко нашел бы место еще лучше...
Я не хочу перечислять все логические огрехи автора. Тут и прямые ошибки (“OWL библиотека Delphi”), и подмена понятий (Visual C++ назван “открытой системой”, а двумя строчками ниже оказывается, что имеется в виду “открытость для профессионалов”), и спорные высказывания насчет того, чему и как следует учить студентов естественно, только на платформе MS+
Николай Склобовский
От редакции
Как могли заметить наши постоянные читатели, в разделе “Мнения” разгорелась дискуссия, начало которой положила статья Владимира Биллига “Delphi Visual C++ или ...?”, напечатанная в PC Week/RE № 18/97. Оказалось, что среди нашей читательской аудитории - значительное число сторонников фирмы Borland и ее продуктов, в частности средства разработки Delphi. Их отклики были приведены в PC Week/RE, № , -29/97. Письмо, публикуемое в этом номере, в некотором роде подводит черту под прозвучавшими высказываниями, резюмирует их. Автор совершенно справедливо отмечает, что рассматривать преимущества одного языка программирования перед другим совершенно бессмысленно в отрыве от конкретной задачи, решаемой в рамках какого-либо проекта.
А что любить можно не только за достоинства, так против этого и вовсе возразить нечего...