О «кризисе» в программном обеспечении. Часть 2.

В качестве основной причины, не позволившей новым языкам программирования занять достойное место практике программирования, указывают обычно следующую: после того как язык ФОРТРАН позволил повысить производительность труда программистов впятеро (по разным источникам — от 3 до 30 раз), никакой из новых языков не гарантировал пятикратного повышения производительности в сравнении с языком ФОРТРАН. Так, в Лос-Аламосском центре не рассматривают всерьез предложения о переходе даже на новую версию ФОРТРАНа, если не ожидается по крайней мере четырехкратного повышения эффективности.

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

Практически в обозримом будущем не предвидится сокращения разрыва в темпах роста производительности труда в области технологии проектирования и создания вычислительной аппаратуры, с одной стороны, и в области технологии программирования — с другой.

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

Задачу создания программного обеспечения не удается поставить как чисто математическую. Нельзя надеяться полностью формализовать цели программного обеспечения, как нельзя полностью формализовать постановку достаточно содержательных задач.