Национальные информационные ресурсы:
проблемы промышленной эксплуатации.
Г.Р.Громов. Москва, Наука, 1984

 

Персональные вычисления и тенденции развития технологии программирования

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

Персональные компьютеры вызвали к жизни новый термин — «парапрограммисты». «Парапрограммисты» — новый класс профессиональных пользователей. Здесь, видимо, можно усмотреть аналогию с делением водителей автомобилей на профессионалов, работающих по найму, и массой автомобилистов,управляющих только личной машиной. Парапрограммисты пишут такие программы, которые в лучшем случае вызывают лишь снисходительную улыбку у профессиональных программистов, пытающихся оценивать их по критериям эффективности использования памяти, быстродействия и, самое главное, стиля программирования. Однако все более нередки ситуации, когда при всех отмеченных недостатках у созданной парапрограммистом программы оказывается одно, но решающее достоинство — она работает, т. е. снимает со своего создателя часть рутинной нагрузки на некоторых (иногда весьма существенных) этапах обработки информации или же обеспечивает ему новые более эффективные режимы обработки информации, которые ранее были в принципе не под силу невооруженному разуму. При этом типичной является ситуация, когда никто другой, кроме парапрограммиста — автора неэффективной по всем традиционным критериям программы, в принципе не смог бы ее создать, так как он сам понял алгоритм, который пытался формализовать, только после отладки 9-го, а то и 12-го варианта своей программы и уже заведомо никогда бы не смог его корректно сформулировать программисту.

Здесь существенно отметить, что элегантная по стилю и эффективная по машинным ресурсам профессионально созданная прикладная программа нередко соотносится с «плохой» программой, которую бывает вынужден разработать для той же цели парапрограммист, так, как это описывает в известной «притче о двух программах» Г. Майерс в книге «Надежность программного обеспечения».

В одной организации долго не удавалось заставить работать прекрасно написанную программу. Был привлечен специалист, сделавший за две недели новую программу, которая, наконец, заработала. «При демонстрации ее работы он отметил, что его программе требуется 10 секунд на каждую карту. Один из разработчиков первоначального варианта, торжествуя, заявил: „А моей программе требуется только одна секунда на карту". Ответ программиста стал классическим: „Но ваша программа не работает. Если программа не должна работать, я могу написать такую, которой хватит одной миллисекунды на карту". [6, с. 162].

Раздел, где Майерс приводит эту притчу, озаглавлен: «Игнорируйте все предложения по повышению эффективности, пока программа не будет правильной».. «Худшее, что может быть сделано,— утверждает он,— это начать беспокоиться о скорости программы до того, как она станет работать правильно. Быстрая, но неправильная программа бесполезна; медленная, но правильная всегда имеет некоторую ценность, а может оказаться и вполне удовлетворительной» [6, с. 161]. Очевидно, вместо критерия скорости в приведенную выше «формулу эффективности по Майерсу» можно подставить в конкретной ситуации любой иной критерий из всего традиционного набора критериев эффективности, охраняемого большой наукой об ЭВМ.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Термин «парапрограммист» (пара — греч. «возле») ввел в техническую литературу сотрудник фирмы «Рэнд корпорейшн» У. Ваэр. В конце 70-х годов он отметил, что широкое распространение микро-ЭВМ порождает новый класс профессиональных пользователей" вычислительных машин (cadre of para-programmers) [5].


Онлайн-версия CD-ROM приложения к книге Г.Р.Громова
"От гиперкниги к гипермозгу: информационные технологии
эпохи Интернета. Эссе, диалоги, очерки
."