...
...

Будущее ПО внушает стойкий оптимизм

Будущее ПО внушает стойкий оптимизм

(Размышления по поводу статьи Е. Щербатюка" Будущее ПО внушает стойкий пессимизм", "КГ", 1997, № 11)

Время от времени уважаемые мной люди делают публичные предсказания. А я, видимо, как и любой человек, хорошо запоминаю, когда пугают насмерть. Если верить тому, что пишут в прессе современные пророки, человечество давно должно было погибнуть от "озоновой дыры", "парникового эффекта", радиации, соли, сахара ("белая смерть"), экологии, СПИДа, ДДТ и т.д. А оно все никак не погибает. Даже, наоборот, ежегодно увеличивается в росте, весе и численности, снижается смертность. В целом по планете, конечно.

И вот в "Компьютерной газете" устами моего любимого автора Евгения Щербатюка провозглашена очередная смерть - на этот раз смерть программистам. Microsoft-де написала почти все, что нужно большинству пользователей. ПО подходит к концу, и в ближайшее время программисты вымрут как класс: большинство останется без работы или будет вытирать пыль с компьютеров, а оставшиеся счастливцы начнут внедрять Microsoft Office и писать "примочки" на Visual Basic.

Сама по себе мысль о смерти программирования не нова. Когда в конце 40-х - начале 50-х годов люди, вдоволь намучившись из-за программирования в машинных кодах, изобрели язык ассемблера, произошла первая технологическая революция. Затем изобрели системные мониторы - прообразы сегодняшних операционных систем. В 1956 году придумали FORTRAN и COBOL.

В те годы все дружно предрекали смерть программированию, настолько резко, по их мнению, упростился процесс разработки программного обеспечения. Отпала необходимость программирования собственных драйверов устройств ввода-вывода, компиляторов и загрузчиков программ, на которое уходила львиная доля программистского труда. Однако высвобождение программистов от рутинной работы открыло новые классы задач, решение объема низкоуровневого ручного программирования и связанной с ним величины и дороговизны проектов. Именно тогда из гигантских арифмометров компьютеры превратились в средства обработки данных.

Затем на смену мониторам пришли настоящие операционные системы. Когда в 1964 году появилась система IBM OS/360, все думали, что это навеки. Язык программирования PL/1 казался панацеей, а позиция IBM в те далекие времена представлялась куда более незыблемой, чем нынешняя позиция Microsoft. К счастью, появились другие компьютеры, другие операционные системы и средства разработки. Так, в результате появления мини-компьютеров серии PDP-11 компании Digital Equipment произошла первая существенная "минимизация" средств вычислительной техники. С появлением PDP/11 обанкротилась целая армия производителей компьютеров. Перелистайте журнал Electronics за 70-е и 80-е годы - тех имен давно уже нет, а мы сами сегодня с грустью и нежностью вспоминаем наших замечательных, родных ЕС'ок и СМ'ок, в обществе которых мы провели столько приятных вечеров (помните, кому посвящен трехтомник Д. Кнута?).

К настоящей революции привели профессиональные СУБД. Ведь до их появления каждый разработчик программного обеспечения проектировал и разрабатывал собственные средства управления данными для каждого приложения, используя системные методы доступа к машинным носителям. Появление CICS, IDMS, ADABAS, dBASE качественно упростило и ускорило разработку приложений. Появилась целая индустрия производителей СУБД - Oracle, Informix, Sybase и другие. Сегодня большинство профессиональных СУБД и ОС, ставших фактически стандартами, по объему кода на несколько порядков превышают использующие их приложения.

На рубеже 70-х годов появились языки третьего поколения - Pascal, C. Помните нашумевшую статью Эда Поста "Настоящие программисты не пишут на Паскале" в журнале Datamation? Кстати, ее неплохо было бы перепечатать в "Компьютерной газете". Статья иронично высмеивала привычки программистов предыдущего поколения, не приемлющих современных (для того времени) средств разработки программного обеспечения, предпочитавших низкоуровневые инструменты, хаотическое программирование и не использовавших современные (опять же для того времени) методы проектирования и разработки программ.

Для нового поколения программистов приведу более свежий пример - российскую книгу "Программирование без программирования", посвященную весьма революционной для начала 90-х годов системе программирования Clarion, положившей начало использованию отечественными программистами визуальных средств разработки (хотя Clarion вовсе не была первым средством визуальной разработки). Надо ли говорить о том, что сейчас ее место (правда, только в Беларуси, но отнюдь не в остальном мире) захватила Delphi, а через пару-тройку лет появится очередная панацея, которая займет в умах наших программистов нынешнее место Delphi? Действительно, пришествие Microsoft Windows во всех ипостасях временно положило конец попыткам разработки новых операционных систем для платформы Intel, а наступление Office означает смерть офисным приложениям других фирм, которые либо "вымрут, как мамонты", либо будут довольствоваться мизерной долей рынка. Однако это вовсе не означает, что все, что можно написать, уже написано. Наоборот, появление Windows, Visual Basic и иже с ними позволяет многократно снизить затраты на разработку программ с графическим интерфейсом для платформы Intel. Постоянно появляются новые продукты, использующие Windows и разработанные отнюдь не только Microsoft.

Совершенно прав г-н Щербатюк, когда пишет о том, что Windows 95 лишила доходов многих независимых производителей. Разумеется, Microsoft постарается "проглатывать" все их новинки, как удав кролика, включая их в новые издания очередной версии Windows. Для пользователя это будет означать всего лишь уменьшение "головной боли" и перераспределение рынка в пользу Microsoft, которая любит разрабатывать аналоги продуктов конкурентов и практически бесплатно встраивает их в новые версии своих продуктов в качестве расширения. В этом случае независимая фирма-разработчик, сняв сливки, вынуждена искать себе новую нишу или уйти с рынка.

Конечно, монополизм Microsoft, как и любой монополизм, плох, но он - результат искусной маркетинговой политики этой фирмы и во многом порожден самими пользователями, которых нельзя упрекать за естественное желание сэкономить и упростить себе жизнь. Ну, скажите на милость, зачем пользователю покупать по отдельности разношерстный набор "примочек" и трудиться над тем, чтобы они не конфликтовали друг с другом? Ведь можно приобрести почти такой же набор продуктов, иногда чуть худшего качества, зато полностью совместимых между собой, в одной фирме и по бросовой цене.

Какая пользователю разница, чей товарный знак красуется на коробке? Пользователь только выигрывает, не "умножая сущностей сверх необходимости". Проигрыш мог бы быть только в том случае, если бы ПО Microsоft было заметно худшим, чем аналогичные продукты других производителей, имеющиеся на рынке по сопоставимой цене. Однако все знают, что это не так. Наличие или отсутствие отдельных пунктов меню существенной роли не играет.

Разумеется, независимые производители системного ПО для Windows находятся в заведомо неравном стартовом положении с Microsoft. Однако у них есть преимущества, которых нет у Microsoft, - мобильность и свобода действий. Число независимых производителей ПО не только не уменьшается, а, напротив, увеличивается за счет новых производителей, и никакая "Некрософт" никогда не сможет всех "проглотить", поскольку с расширением аппаратно-программного комплекса Wintel/Office увеличивается и число отправных точек для развития Windows и Office. Помните круг Сократа: "Чем больше я знаю, тем больше я не знаю".

Да, нам никогда в жизни не придется разрабатывать новый текстовый редактор или электронную таблицу для платформы Wintel, как не будет и новых коммерческих разработок электронного органайзера, дизайнера презентаций или кириллизатора. Зато мы увидим множество серьезных приложений, использующих составные части пакетов Office и BackOffice, десятки тысяч средств, основанных на этих и других платформах, в том числе и инструменты разработки приложений, о которых еще каких-нибудь 10 лет назад можно было только мечтать. Жизнь ставит огромное число проблем, и по мере развития инструментария находятся люди и фирмы, способные их решить. Именно так и происходит технический прогресс - каждый новатор стоит, по выражению А. Эйнштейна, "на плечах гигантов".

По всем прогнозам, число программистов не только не уменьшается, но будет постоянно увеличиваться. Другое дело, что они не станут разрабатывать "с нуля" ОС, простые офисные, бухгалтерские и складские системы, ибо американская корпорация Microsoft и московская фирма 1С для платформы Wintel навсегда решили эти проблемы для пользователей СНГ. Просто разработчики будут решать другие, вновь появившиеся задачи либо решать эти задачи для других платформ, благо их и сегодня тысячи. Только и всего.

Сегодня модно не любить Microsoft. Я также не являюсь поклонником этой компании, но надо отдать ей должное - она создала огромную империю программного обеспечения и внесла существенный вклад в эволюцию ПО.А тех, кто не любит Microsoft лишь из зависти к чужому успеху, мне остается утешить историческими примерами с IBM и DEC. Платформа Wintel не вечна. Обратите внимание, как зашаталась Microsoft в связи с молниеносным распространением Internet, с каким трудом отвоевывает упущенные позиции у Netscape и других независимых производителей ПО для Internet и Intranet. Врожденное чутье рынка изменило Гейтсу. А ведь Internet - далеко не последняя технологическая революция. Обязательно появится какой-нибудь новый Билли, который придумает и выпестует новое модное направление, смертоносное для Wintel. Подождем еще пару лет.

Постоянно появляются и будут появляться замечательные программы, обогащающие нашу цивилизацию в той области технической культуры, которая называется "информационные технологии". И отнюдь не только на Basic. Кстати, г-н Щербатюк, окажите любезность - покажите мне в Минске хотя бы одного профессионального программиста, постоянно пишущего на Visual Basic для белорусских пользователей. Мне таковые неизвестны. Зато на С пишут сколько угодно.

Практически занимаясь программированием 19 лет и руководя программными проектами, я знаю, что, несмотря на весь прогресс, используемые сегодня средства разработки чрезвычайно недостаточны. Они "недотягивают" до предмета автоматизации, и в ближайшие десятилетия существенного прогресса достичь не удастся. Любое изменение в программе, элементарное с точки зрения пользователя, обычно требует значительных усилий со стороны разработчика. Будучи оптимистом, я уверен, что решение проблемы со временем найдется, но не в Microsoft. Но это - тема отдельного разговора.

Так что не верьте очередному пророчеству о смерти программирования, уважаемые коллеги: работы всем хватит - и не только на наш век, но и на следующий.

Юрий Зиссер, фирма "Надежные программы"


© Компьютерная газета

полезные ссылки
IP камеры видеонаблюдения