Даже если бы все без исключения считали «СПН» пессимистической, что в этом худого? Является ли утверждение Эйнштейна о том, что ничего не может перемещаться со скоростью, большей скорости света, «унылым» и «мрачным»? А как насчет результатов Геделя о том, что некоторые вещи невычислимы? «СПН» пытается утверждать, что «сама сущность программного обеспечения делает маловероятным открытие «серебряных пуль» когда-либо в будущем». Турский в своем отличном ответном докладе на конференции IFIP красноречиво заявил:
Из всех попыток науки продвинуться в ложном направлении наиболее возвышенны те, которые были направлены на поиск философского камня — вещества, с помощью которого предполагалось обращать простые металлы в золото. Высшая цель алхимии, к которой с рвением стремились поколения исследователей, щедро финансировавшиеся светскими и духовными правителями, — это в чистом виде стремление принимать желаемое за действительное и общепринятое мнение, что вещи таковы, какими мы хотели бы их видеть. Это очень по-человечески. Нужно сделать над собой большое усилие, чтобы смириться с существованием неразрешимых проблем. Стремление вопреки всему найти выход, даже когда доказано, что его не существует, очень и очень сильно. И в большинстве своем мы с большим сочувствием относимся к этим храбрецам, которые пытаются достичь невозможного. Это продолжается и по сей день. Пишутся сочинения о квадратуре круга. Стряпаются лосьоны для восстановления утраченных волос — и неплохо продаются. Рождаются методы повышения производительности программирования — и хорошо расходятся.
Мы слишком часто склонны доверять своему оптимизму (или эксплуатировать оптимистические надежды своих спонсоров). Мы слишком часто не хотим прислушиваться к голосу рассудка и обращаем много внимания на продавцов панацей, поющих голосами сирен. [11]
Турский, как и я, предупреждает, что мечтательность тормозит движение вперед и ведет к пустой трате сил.
«Мрачные» темы. Харел считает, что мрачность «СПН» придают три темы:
• Резкое разделение между сущностью и второстепенным.
• Изолированное рассмотрение каждого кандидата в «серебряные пули».
• Прогноз лишь на ближайшие 10 лет, а не на срок, в течение которого можно ожидать «существенных улучшений».
Что касается первого, то в это вся соль статьи. Я по-прежнему считаю, что такое разделение необходимо для понимания того, почему трудно создавать программное обеспечение. И это верное указание, куда должен быть направлен удар.
Что касается изолированного рассмотрения кандидатов в «серебряные пули», то это
правда. Разные кандидаты предлагались поочередно и непомерными претензиями на
собственное всесилие. Правомерно и рассматривать их поочередно. Я возражаю не
против самих технологий, но против ожидания от них чуда. Гласс, Весси и Конджер
(Glass, Vessey, Conger) в своей статье 1992 года представили многочисленные
свидетельства того, что бесполезные поиски серебряной пули все еще продолжаются. [12]
Что касается выбора в качестве периода предсказаний 10, а не 40 лет, то частично это признание того, что наши предсказания на больший срок никогда не были удачными. Кто из нас в 1975 году предсказал микрокомпьютерную революцию 80-х?
Есть и другие причины ограничиться десятилетием: все кандидаты претендовали на получение результатов немедленно. Я не помню ни одного, который бы сказал: «Если сегодня вы сделаете инвестиции в предлагаемое мной средство, то по прошествии 10 лет начнете пожинать плоды». Более того, за десятилетие соотношение производительность/цена для компьютеров выросло, наверное, в сотни раз, и неизбежно подсознательно производится сравнение, которое совершенно недопустимо. Мы наверняка достигнем большего прогресса за предстоящие 40 лет. Рост за 40 лет на порядок едва ли покажется чудом.
Мысленный эксперимент Харела. Харел предлагает мысленный эксперимент, в котором «СПН» была написана в 1952 году, а не в 1986, но содержала бы те же утверждения. Он хочет использовать это в качестве доказательства от противного в борьбе против попыток отделить сущность от акциденции.
Это доказательство неверно. Во-первых, «СПН» начинается с утверждения, что для программирования в 1950-х характерно значительное преобладание трудностей в акциденциях над трудностями в сущности. Этого преобладания больше не существует, что привело к росту производительности на порядки величин. Переносить это доказательство на 40 лет назад бессмысленно: никто не стал бы в 1952 году утверждать, что не трудности акциденций ответственны за большую часть затрачиваемых усилий.
Читать дальше
Конец ознакомительного отрывка
Купить книгу