Обсуждая, насколько успешна академическая информатика, мы, в США, должны уделять компьютерной индустрии больше внимания, чем в других странах, и мы должны делать это по двум причинам: во-первых, по сравнению с другими странами, здесь едва ли есть препятствия, которые отделяют кампус американского университета от окружающего его общества, во-вторых, большая часть, если не почти вся мировая вычислительная промышленность сосредоточена в США. Следовательно, мнения и предрассудки, преобладающие в американской компьютерной индустрии, являются для информатики неоспоримой силой, будь то движущей или парализующей.
Ради стабильности предприятия идеалом руководителя стала организация, максимально независимая от конкретных способностей отдельных сотрудников. Преобладание этого идеала - хорошо задокументированное международное явление; сам идеал предшествовал высокотехнологичной отрасли, в которой он вполне мог быть неуместным, и препятствовал использованию в промышленности ученых, в особенности блестящих и оригинальных.
Ситуация в Америке усугубляется полным неверием в её систему образования и глубоко укоренившимся недоверием к интеллектуалам.
Насколько типично это американское недоверие, свидетельствует тот факт, что у американского слова «яйцеголовый» нет голландского перевода.
Соответственно, преобладающее производственное отношение оказывает сильное давление на университет, чтобы он не увлекался такими хобби, как научное образование, а ограничивался профессиональным обучением того или иного рода.
Но в случае с информатикой промышленные предрассудки влияют не только на преподавание, но и на исследования. Я помню, например, так называемого «кандидата на факультет», который рассказывал о своей докторской диссертации, в которой была система для «распараллеливания» скромного класса программ на фортране. Оратор не утверждал, что он получил какие-либо новые идеи или что вы могли узнать что-то интересное, изучая его диссертацию, и единственное оправдание его работы можно было найти в его конечном продукте, а именно: его программу на фортране для распараллеливания. И это программное обеспечение было очень важным, потому что (i) «там» были тысячи программ на языке фортран и (ii) система была полностью автоматической, что является абсолютным требованием для промышленного применения (я не выдумываю!).
Я думал, что главный критерий, по которому можно судить о наших академических исследованиях, - это то, как они улучшают наш материал для обучения, но этот бедняга принял «промышленное признание» в качестве критерия качества, и в результате его устройство работало в таком небольшом наборе обстоятельств, что главной его особенностью было то, что применять его можно было бездумно.
Есть и другие примеры того, как исследования страдают от промышленного давления.
Быть лучшим программистом означает иметь возможность разрабатывать более эффективные и надёжные программы и знать, как это делать эффективно. Речь идёт о том, чтобы не тратить впустую ячейки памяти или машинные циклы, а также об избежании тех сложностей, которые увеличивают количество логических шагов, необходимых для сохранения дизайна под строгим интеллектуальным контролем. Что необходимо для достижения этой цели, я могу описать только как улучшение математических навыков, когда я использую математику в смысле «искусства и науки эффективных рассуждений». На самом деле, задачи разработки высококачественных программ и разработки высококачественных доказательств очень похожи, настолько похожи, что я больше не могу различать их: по большому счёту, я не вижу значимой разницы между методологией программирования и математической методологией. Короче, повсеместное распространение компьютеров сделало применение математических методов более важным, чем когда-либо.
Однако в результате жестокого поворота истории американское общество выбрало именно ХХ век, чтобы становиться все более и более аматематическим (явление, например, наблюдаемое и оплакиваемое Моррисом Клайном), и мы достигли парадоксального состояния: из всех так называемых развитых стран США больше всего зависят от запрограммированных компьютеров и хуже всего подготовлены для этого в интеллектуальном плане. Предположение о том, что проблема программирования может быть решена математически, немедленно отвергается как совершенно нереалистичное.
В результате проектирование программ не может стать одной из дисциплин информатики. Существует значительная озабоченность по поводу правильности, но почти всё это было направлено на апостериорную верификацию программы, потому что, опять же, это больше соответствует мечте о полной автоматизации. Но, конечно, многие (я в том числе) рассматривают апостериорную проверку как поставку телеги впереди лошади, потому что вся эта процедура программирования поднимает животрепещущий вопрос, откуда взялась проверяемая программа. Если последнее было получено, то проверка - это не более чем проверка вывода. А тем временем методология программирования - переименованная в «программную инженерию» - стала счастливым местом охоты для гуру и шарлатанов.
Американская информатика, лишенная того, что обычно считается основной проблемой вычислений, терпит поражение, и мы не можем винить университеты, потому что, когда отрасль, наиболее нуждающаяся в их научной помощи, не может признать, что они занимаются высокотехнологичным бизнесом, даже лучший университет бессилен. Университеты должны быть более просвещёнными, чем их среда, и они это могут, но не достаточно много (т.е. не открыто). В нынешнем политическом климате маловероятно, что ситуация скоро улучшится; в ближайшем будущем нам придётся жить с суеверием, что программирование «настолько легко, что даже республиканец может это сделать».
Остин, 26 августа 1995 г.
проф. доктор Эдсгер В. Дейкстра
Кафедра информатики
Техасский университет в Остине
Остин, Техас 78712 - 1188
США
