Помимо этих общих культурных различий, существует техническая проблема, заключающаяся в том, что в разных странах вычислительная наука в целом и программирование в частности оцениваются совершенно по-разному.
Программирование является одной из самых сложных отраслей прикладной математики, потому что это одна из самых сложных отраслей инженерии, и наоборот. Объяснить это, например, французу — даже если он понимает английский! — почти невозможно: невозможность — не говоря уже об необходимости! — прочно обосноваться в обеих областях человеческой деятельности для такой жертвы Бурбаки просто выходит за рамки его воображения. По совершенно другим причинам это одинаково трудно понять прагматичному программисту с американского Среднего Запада.
Отдельное слово или два нужно посвятить немецкой вычислительной науке, потому что среди участников было так много немцев — около трети. Немецкая вычислительная наука все еще очень несбалансирована. С намерением догнать и продвинуть эту область, немецкое федеральное правительство совершило волшебный акт высокоскоростного основания кафедр вычислительной науки только в Бог знает скольких немецких университетах. Проблема, оставшаяся перед университетами, заключалась в том, как заполнить все эти недавно созданные кафедры. Ожидаемое произошло: большинство из них были заполнены либо специалистами по теории автоматов и т. п., либо опытными прагматиками, и новая жизнь была вдохнута в бесплодную полемику между «теорией» и «практикой». Между этими двумя крайностями (и, надеюсь, выше) ряд «истинных» ученых-компьютерщиков должны были удерживать поле вместе. Политическое решение о том, что эти истинные ученые-компьютерщики должны представить (и представлять) единый взгляд на предмет — и должны делать это в единой немецкой терминологии — стало катастрофическим, когда была сделана техническая ошибка, выбрав концепции АЛГОЛА 68 в качестве фундаментальных, на которых предмет должен был развиваться дальше. Но нельзя основывать научную дисциплину на путанице, и, следовательно, с тех пор мы увидели исключительно мало немецкого развития науки о вычислениях. (Немецкое принятие ALGOL 68 оказало на немцев такое же парализующее воздействие, как и решение русских в конце шестидесятых годов разработать в качестве своей следующей национальной серии компьютеров бит-совместимую копию IBM 360 — величайшую победу Америки в холодной войне!—.) А с мыслителями, которые допускают только операциональные определения языков программирования, на самом деле мало что можно сделать. Либо забыть о языках программирования и вернуться к более знакомому предмету теории рекурсивных функций, либо сосредоточиться на управлении сложными реализациями сложных языков на усложняющихся машинах; и это, похоже, происходит. Разделение между теорией, не нужной на практике, и практикой без поддерживающей теории снова полное, и я едва ли осмеливаюсь спрашивать немецкого коллегу о ходе его работы, опасаясь, что вопрос будет слишком болезненным.
Нетрудно заметить, что Дейкстра отмечает три интересных вещи:
а) Существует разница в успехе компьютерных наук, которая продиктована разницей институтов старой науки,как, например, в случае Франции - институализации математики
б) разработчики из Германии при создании большого числа кафедр компьютерной инженерии попробовали создать некий единый стандарт, и этот стандарт оказался неудачным - ALGOL 68 привел к путанице и парализовал работу (якобы)
в) В СССР проблемой стал переход на IBM, буквально 1 фраза, на которой возникло некоторое число публикаций об упущенном шансе.
Итак, о чем идет речь?