продолжение:
Однако ни эти наблюдения, ни указания на провал попытки Кобола выжить среди профессиональных программистов не произвели никакого впечатления на правоверных. Они объяснят вам, что традиционные языки программирования высокого уровня потерпели крах из-за их «процедурности», и что провал Кобола очевиден, поскольку ввиду недостаточной интерактивности он на самом деле не является простым человеческим языком. Но вот через пять или десять лет дальнейший прогресс в области Искусственного Интеллекта (для посвященных — AI, т.е. Artificial Intellect) позволит нам построить «контекстно-зависимые», «основанные на знаниях», «автоматизированные системы для мышления и понимания», такие, что «пользователю достаточно будет только побеседовать с ними». Должно быть, я неизлечимый скептик, но мне весьма трудно поверить, что подобным надеждам суждено сбыться. Имеются некоторые видимые подтверждения таких ожиданий. Я цитирую отрывок из недавно полученного письма: «в общем, передача более совершенному компьютеру того, что мы сегодня называем человеческими навыками, знанием и разумом». Я не намерен повторять здесь фрагменты горячих дискуссий, которые мы проводили по поводу значимости Искусственного Интеллекта, да здесь это и ни к чему. Во-первых, оглядываясь назад, приходим к неизбежному заключению: смешивать надежды на будущее AI с завтрашней реальностью было бы безрассудством. Весьма безответственно жить в таком розовом тумане, учитывая, что мечты по поводу AI могут так и остаться мечтами, по крайней мере, на протяжении нашей жизни. Или, говоря другими словами, глядя на серьезность сегодняшних проблем программирования, обычная осторожность заставляет нас не забывать о взгляде В.
Во-вторых, первоочередная задача программиста, если он хочет, чтобы его творения заслуживали доверия, состоит в том, чтобы делать их максимально понятными, так чтобы он мог нести за них ответственность. Независимо от ответа на вопрос, как много из его нынешней деятельности может быть переложено на машину, мы должны всегда помнить, что ни «понимание», ни «ответственность» не могут быть классифицированы как деятельность: это скорее «состояние разума», и оно в принципе не может быть передано машине. Я считаю неразумным, в особенности для ученого-компьютерщика, недооценивать влияние психологической школы, которая, считая человеческий разум слишком сложным и трудно поддающимся изучению, занялась вместо этого изучением крыс, и даже ограничивает это изучение — как я слышал недавнюю формулировку — «наиболее механической формой поведения — зачастую настолько механической, что даже крысам не дают проявить свои высшие возможности».
Представляя свои грубые, механические модели в качестве допустимого приближения к человеческому разуму, они опасно усложнили вопрос о различиях между человеком и машиной, и мы наблюдаем два взаимно дополняющих друг друга феномена: антропоморфный взгляд на машины и механический взгляд на людей.
Эта неразбериха, вне всякого сомнения, — плод усилий верховных жрецов AI. Преобладание в основном антропоморфной терминологии в компьютерной науке — «память», «интерпретатор», «язык программирования», «рукопожатие», «диалог» — и это лишь частные примеры — это предупреждение, которое не следует игнорировать. Я не знаю, как думать и разговаривать, обходясь без метафор; я знаю также, что каждая метафора несет в себе опасность скрытого подтекста. В данном случае благодаря антропоморфной терминологии в компьютерной науке мы давно уже достигли стадии, когда опасность путаницы перевешивает достоинства аналогии. Кроме того, кажется, что механический подход к людям среди компьютерных ученых (и их руководителей) распространен шире, чем представляется мне нормальным. Ибо я подозреваю, что именно этот механический подход ограничивает деятельность программистов механическими действиями по написанию кода и затем измеряет «производительность труда программиста» количеством произведенных им строк кода. (Когда весьма широко известный и очень уважаемый ученый-компьютерщик использовал недавно эту меру производительности труда программиста в своей лекции, от слушателей поступило предложение говорить не о «количестве произведенных строк кода», а о «количестве израсходованных строк кода», и что лектор, следовательно, занес их не в ту графу учета баланса расходов и доходов. Лектор ответил, что он вынужден использовать эту меру производительности, поскольку не располагает альтернативой, которая позволяла бы вести точный учет!) Это не может больше рассматриваться как безобидное заблуждение, поскольку такая бессмысленная «мера производительности» гарантированно стимулирует профессиональных программистов к написанию рыхлого кода. Влияние психологии было рассмотрено здесь, поскольку оно объясняет цепкость, с которой так много людей склонны держаться взгляда А. В основном это не вина производителей компьютеров, которые желают вести дела так, будто они продают простейшую продукцию; и не вина руководителей программных проектов, которые предпочитают рассматривать деятельность программистов как простой и предсказуемый процесс; и не вина учебных заведений, которые хотели бы дать студентам гарантию в достижении профессионального. Это следствие комфортной иллюзии, что Человек — это лишь сложный автомат. Эта иллюзия, подобно наркотику, приносит своим жертвам кажущееся освобождение от бремени ответственности. Признание программирования серьезным вызовом интеллекту вернуло бы полный вес этой ноши обратно на плечи людей.
prof. dr. Edsger W. Dijkstra
Burroughs Research Fellow
PS: мною найден интересный блог - Цифровая жизнь. Много полезных ссылочек и постов на тему блоггинга и продвижения. Плюс заметки о прогах и инет-сервисах. Рекомендс.
PPS: перечитал название одного моего поста и родилось: “Говорят брокер - не ипотечный!!!” (via Ivan Vasil’evich change work =)