КаталогИндекс раздела


    

Состояние американского программирования

Эдсгер В. Дейкстра

American Programming's Plight (EWD750)

Наиболее важными активами компетентного программиста являются - возможно, именно в таком порядке - отличное мастерство в своем естественном языке и значительная математическая зрелость. Уже более десяти лет эти факты общеизвестны и общепонятны.

По несчастному историческому стечению обстоятельств, они делают программирование, которое является трудным само по себе, в США еще более трудным. Во-первых, с начала века американская культура постепенно отворачивалась от математики (см. Lynn A. Steen "Mathematics Today" или Morris Kline "Mathematics in Western Culture") в такой степени, что многие ее высокообразованные в других отношениях граждане уже не имели правильного представления, о том, чему посвящена математика. Культура стала безматематической, иногда даже антиматематической. Кто мог предвидеть в 1900 году, что в конце столетия после появления компьютера он будет более полезным, чем математически тренированный мозг? Во-вторых, (см., например, Edwin Newman "Strictly Speaking") идеалы вседозволенности либерального общества ускорили порчу использования в массе английского языка (другие западные страны тоже столкнулись с этим феноменом, но США - как всегда! - были впереди всех). Для американского программирования эти два "достижения" были, безусловно, несчастливыми.

Есть и другое осложняющее обстоятельство, я знал о нем, но мой последний визит в некоторые промышленные организации в США заставил меня осознать его полную серьезность. Беда состоит в том, что программирование становится промышленной деятельностью в тот момент, когда (см., например William H. Whyte "The Organization Man") превалирующая философия менеджмента имеет целью сделать компании независимыми от компетентности их работников. Нечего и говорить, что это дает промышленному программированию в Америке весьма неудачный старт. Насколько сильна эта позиция, я узнал в ходе моего визита, когда жуткий американский менеджер отреагировал на мой совет фразой: "Но ведь это потребует от людей думать! ". Это было, как, если бы я сделал непристойное предложение. (Весьма распространенная реакция немедленного поиска "инструмента", как только появляется проблема, также вполне может быть симптомом той же позиции.)

Еще одно обстоятельство затуманивает представление людей. Для тех, кто понимает, что такое программирование, и согласен с вердиктом Мориса Клайна: "Более, чем чем-либо другим, математика является методом", очевидно, что программирование должно рассматриваться как ветвь математики, будучи в чем-то необычной ветвью. Именно сейчас, но, возможно, навсегда, программирование отличается от большинства других ветвей математики разным балансом между требуемым знанием и требуемой зрелостью. Программирование требует относительно небольших математических знаний, устраняя непреодолимую сложность, однако, требует значительного методологического понимания. Я знаю, что этот необычный баланс не дает некоторым моим голландским коллегам рассматривать программирование как многообещающую область математической деятельности. Более ориентированные на знания, чем я, они продолжают спрашивать: "Но где же здесь существенная математика? ". Они чувствуют, что предмет "слишком неглубокий" или "недостаточно богатый", чтобы стать процветающей ветвью математики. Мой последний визит в США поставил меня перед тем фактом, что американское образование в значительно больше ориентировано на знания, чем европейское. (Дискуссия об образовании в компьютерной науке была немедленно сведена к вопросу: "Какие предметы студенты должны изучать? "; в котором отражается мыслительная привычка не рассматривать все в целом.) Относительно скромная роль математических знаний в программировании затуманивает европейское видение; я боюсь, что американское оно затуманивает еще больше.

Plataanstraat 519 September 1980
5671 AL NUENENprof. dr. Edsger W. Dijkstra
The NetherlandsBurroughs Research Fellow


КаталогИндекс раздела