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


         

о том, что вы понимаете


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

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