«Цена надежности — это стремление к предельной простоте. Это цена, которую даже очень богатому трудно заплатить».
Сэр Энтони Хоар, 1980
В научных кругах, в промышленности и в коммерческом мире широко распространено убеждение, что информатика как таковая практически завершена и что, следовательно, информатика «созрела» из теоретической темы для учёных в практическую проблему для инженеров, менеджеров и предпринимателей, то есть, в основном, людей (а их много!), которые могут извлечь из приложений науки очевидные выгоды, но чувствуют себя довольно неловко, когда дело касается её создания, потому что не понимают, что делают научные исследования, с их нематериальными целями и неопределёнными наградами. Это широко распространенное убеждение, однако, верно только в том случае, если мы отождествляем цели вычислительной науки с достигнутыми и забываем о тех целях, которых нам не удалось достичь, даже если они слишком важны, чтобы их игнорировать.
Поэтому я хотел бы обозначить главный вызов для отрасли: «Как не запутаться в этом?». Большинство наших систем намного сложнее, чем можно считать разумным, и слишком беспорядочны и хаотичны, чтобы использовать их с комфортом и уверенностью. Среднестатистический клиент компьютерной индустрии обслуживается настолько плохо, что ожидает, что его система будет постоянно выходить из строя, и мы являемся свидетелями массового распространения по всему миру программного обеспечения с ошибками, за которое нам должно быть очень стыдно.
Для нас, ученых, очень заманчиво обвинить в этом плачевном положении дела недостаток образования у среднестатистического инженера, недальновидность менеджеров и злой умысел предпринимателей, но это не сработает. Видите ли, в то время как мы все знаем, что неосвоенная сложность лежит в основе страданий, мы не знаем, какую степень простоты можно получить, и в какой степени внутренняя сложность всего проекта должна проявляться в интерфейсах. Мы просто ещё не знаем границ распутывания. Мы ещё не знаем, можно ли отличить внутреннюю запутанность от случайной запутанности. Мы пока не знаем, возможны ли компромиссы. Мы ещё не знаем, можем ли мы придумать для запутанности осмысленную концепцию, о которой мы можем доказать теоремы, которые помогают. Грубо говоря, мы просто ещё не знаем, о чём нам следует говорить, но это не должно нас беспокоить, потому что это просто иллюстрирует, что подразумевается под «нематериальными целями и неопределенными наградами».
И это был только пример. Мораль в том, что законченность информатики будет зависеть в первую очередь от нашей смелости и нашего воображения.
Остин, 19 ноября 2000 г.
[Написано для Communications of the ACM]
проф. др. Эдсгер В. Дейкстра
Кафедра информатики
Техасский университет в Остине
Остин, Техас 78712 - 1188
США