Возможности вычислительных машин и человеческий разум


         

Ложное поведение может быть, как


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

Содержание  Назад  Вперед