Национальные информационные ресурсы:
проблемы промышленной эксплуатации.
Г.Р.Громов. Москва, Наука, 1984

 

Технология программирования: этапы эволюции

Основным объектом рабочих интересов программиста на этапе зарождения машинной технологии обработки информации были регистры и ячейки памяти первых ЭВМ. Вспоминая о том времени и первых переменах в подходе к предмету программирования, Э. Дейкстра писал, что с тех нор «нас совершенно не интересует, работает ли машина электрически, пневматически или чудом! Но, конечно, это не только игра словами,— подчеркивает он,— это показатель того, что программирование как профессия постепенно взрослеет. Раньше назначение программ заключалось в управлении нашими вычислительными машинами, теперь на­значение вычислительных машин состоит в исполнении наших программ» [33, с. 256].

Ситуацию, которая сложилась на следующем витке эволюции информационной технологии, можно, видимо, охарактеризовать, перефразируя заключение Дейкстры, следующим образом: нас совершенно не интересует, как преобразуется в работающую программу формальное описание прикладной задачи: структурным программированием, автоматическим синтезом программы или чудом. Но, конечно, это не только игра словами; это показатель того, что программирование как профессия неуклонно взрослеет. Раньше назначение машин заключалось в исполнении программ, основное назначение большей части из миллионов действующих в 80-х годах вычислительных систем — инструментальная поддержка процесса автоформализации профессиональных знаний.

После того как для какого-либо фрагмента профессиональной человеческой деятельности решена задача его формализации, можно утверждать, что все остальное — дело техники (вычислительной техники). Данный фрагмент из безбрежного океана неформальных прикладных задач оказывается очередным формализованным островком архипелага автоматизации. Архитектура программных и аппаратных конструкций, которые будут, затем воздвигнуты на вновь открытом острове и технология их машинной реализации могут быть самыми различными. Более важно другое — на данном участке конкретной прикладной задачи обретена алгоритмическая твердь; формализован еще один фрагмент профессиональных знаний в исследуемой предметной области.

Следует ли из сказанного, что в недалеком будущем (или хотя бы в отдаленном) неформальные пока аспекты прикладных задач будут постепенно так или иначе «выловлены», законсервированы в действующих макетах программ и поставлены в очередь на машинную автоматизацию? Наблюдаемая тенденция в развитии информационной технологии носит характер, противоположный такому оптимистичному предположению. Каждая формализованная прикладная задача или система автоматизации на базе ЭВМ — это, как правило, новый инструмент, который вскрывает целый пласт еще более сложных и соответственно трудно формализуемых прикладных задач, ранее недоступных для рассмотрения даже на уровне постановки задачи.

«Было время,— напоминает Дж. Вейценбаум,— когда физики мечтали объяснить весь реальный мир только с помощью всеобъемлющего формализма» [18, с. 283]. Теперь, после того как соотношение неопределенности Гейзенберга в физике и результаты Гёделя в математике в значительной степени поколебали формальный фетишизм, господствовавший в точных науках XIX столетия, миражи глобальной формализации волнуют воображение ученых в исторически юных разделах научного знания, которые были вызваны к жизни вычислительной техникой. По мнению советского философа Г. Л. Смоляна, здесь «вполне применим тезис Д. Гильберта, утверждавшего, что всякая физическая или математическая теория проходит три фазы развития: наивную, формальную и критическую» [34, с. 97].

Таким образом, в компьютерных науках оказывается необходимым вновь последовательно проходить все те «освободительные этапы» [18], по которым в начале века высвобождались из скорлупы глобального формализма исторически более зрелые области точного знания.

В заключении своей книги «Мощь ЭВМ и разум человека» Дж. Вейценбаум приводит вывод, который математики сделали в свое время из результатов Гёделя: «Мозг человека не в состоянии полностью сформулировать (или «механизировать») свою математическую интуицию. Это означает, что если он добивается успеха, сформулировав какую-то часть своих интуитивных математических знаний, то сам этот факт уже порождает новое интуитивное знание» [18, с. 284].


Онлайн-версия CD-ROM приложения к книге Г.Р.Громова
"От гиперкниги к гипермозгу: информационные технологии
эпохи Интернета. Эссе, диалоги, очерки
."