\input style
\chapter{предисловие редактора перевода}

пРОГРАММИРОВАНИЕ БОГАТО И МНОГООБРАЗНО. вЕДЬ КАЖЕТСЯ НЕТ ТАКОЙ СФЕРЫ 
ЧЕЛОВЕЧЕСКОЙ ДЕЯТЕЛЬНОСТИ, ГДЕ НЕЛЬЗЯ БЫЛО БЫ  С ПОЛЬЗОЙ ПРИМЕНИТЬ 
ВЫЧИСЛИТЕЛЬНУЮ МАШИНУ ДЛЯ ОЦЕНКИ, ИНФОРМАЦИОННО-СПРАВОЧНОГО ОБСЛУЖИВАНИЯ,
ПЛАНИРОВАНИЯ, МОДЕЛИРОВАНИЯ И Т. П. и ЭТО МНОГООБРАЗИЕ ЗАДАЧ ПЕРЕХОДИТ 
В МНОГООБРАЗИЕ ПРОГРАММ, КОТОРЫЕ ДОЛЖНЫ РАЗРАБАТЫВАТЬ ПРОГРАММИСТЫ. 
оНИ ПЫТАЮТСЯ СПРАВИТЬСЯ С ЭТИМ МНОГООБРАЗИЕМ, "ЗАКЛЮЧИВ" ЕГО В 
ПРОБЛЕМНО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ. яЗЫКИ ВБИРАЮТ В СЕБЯ 
СПЕЦИФИЧЕСКИЕ ЧЕРТЫ КОНКРЕТНЫХ СФЕР ПРОГРАММИРОВАНИЯ --- ХАРАКТЕРНЫЕ СТРУКТУРЫ 
ДАННЫХ, ПРИНЦИПЫ ОРГАНИЗАЦИИ ТИПИЧНЫХ ПРОЦЕССОВ, СООТВЕТСТВУЮЩУЮ 
ТЕРМИНОЛОГИЮ --- И ТАКИМ ОБРАЗОМ ДЕЛАЮТ САМ ПРОЦЕСС ПРОГРАММИРОВАНИЯ БОЛЕЕ
УНИВЕРСАЛЬНЫМ. оДНОВРЕМЕННО ОНИ ОСВОБОЖДАЮТ ПРОГРАММИСТОВ ОТ НЕОБХОДИМОСТИ 
ДЕТАЛИЗИРОВАТЬ ПРОГРАММЫ ДО УРОВНЯ СЛИШКОМ МЕЛКИХ МАШИННЫХ КОМАНД
И ДАЖЕ ОТ НЕОБХОДИМОСТИ ЗНАТЬ ОСОБЕННОСТИ КОНКРЕТНЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН. 
бОЛЕЕ ТОГО, ОПЕРАЦИОННЫЕ СИСТЕМЫ ПРИЗВАНЫ ПРЕВРАТИТЬ ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ 
ИЗ ПРЕДМЕТА ПОСТОЯННОГО БЕСПОКОЙСТВА  В "СУЩЕСТВА", КОТОРЫЕ САМИ ЗАБОТЯТСЯ
О ПРОГРАММИСТЕ И ГОТОВЫ  ОКАЗЫВАТЬ ВСЯЧЕСКИЕ УСЛУГИ ЕМУ И ЕГО ПРОГРАММЕ.

и ТЕМ НЕ МЕНЕЕ, ПОСЛЕ ТОГО, КАК ЛЮБАЯ БОЛЕЕ ИЛИ МЕНЕЕ СЛОЖНАЯ ЗАДАЧА 
СФОРМУЛИРОВАНА (ПУСТЬ ДАЖЕ В АДЕКВАТНЫХ И УДОБНЫХ ТЕРМИНАХ) И МАШИНА ВЫБРАНА
(ПУСТЬ ДАЖЕ В САМОМ ДЕЛЕ ГОТОВАЯ К ВСЕВОЗМОЖНЫМ УСЛУГАМ), КАЖДЫЙ ПРОГРАММИСТ 
СНОВА И СНОВА ОСТАЕТСЯ ОДИН НА ОДИН СО СВОЕЙ СОБСТВЕННОЙ ЗАДАЧЕЙ: ЕМУ НУЖНО 
СОСТАВИТЬ ПРОГРАММУ! вЫБРАТЬ, КАК ИМЕННО СЛЕДУЕТ РАСПОЛОЖИТЬ И СВЯЗАТЬ ДАННЫЕ 
В ПАМЯТИ, ПОНЯТЬ, КАКАЯ ИМЕННО ПОСЛЕДОВАТЕЛЬНОСТЬ ОПЕРАТОРОВ, --- СПОСОБНЫХ 
СДЕЛАТЬ ВСЕ ЧТО УГОДНО И ОТТОГО ОДНОВРЕМЕННО И ПОДАТЛИВЫХ И 
ОПАСНЫХ --- ВЫПОЛНИТ ПОСТАВЛЕННУЮ ЗАДАЧУ. и КАК ОРГАНИЗОВАТЬ ОПЕРАТОРЫ В 
ЦИКЛ, КОТОРЫЙ БУДЕТ С КАЖДЫМ ШАГОМ ПРИБЛИЖАТЬ МАШИНУ К НАМЕЧЕННОЙ ЦЕЛИ. 
вЫБРАТЬ, ПОНЯТЬ, ИЗОБРЕСТИ, ПРОВЕРИТЬ, УСОМНИТЬСЯ И ПОВТОРИТЬ ВСЕ СНАЧАЛА.
   
пОКАЗАТЕЛЬНО, ЧТО ХОТЯ В ТАКИХ "ВНЕШНИХ" РАЗДЕЛАХ ПРОГРАММИРОВАНИЯ,  КАК 
ЯЗЫКИ И ТРАНСЛЯТОРЫ, ОПЕРАЦИОННЫЕ СИСТЕМЫ И БАЗЫ ДАННЫХ, ШИРОКО РАЗВИВАЕТСЯ И 
ИСПОЛЬЗУЕТСЯ ТЕОРИЯ (ОТ МАТЕМАТИЧЕСКОЙ ЛИНГВИСТИКИ И ЛОГИКИ ДО СТАТИСТИКИ И 
ТЕОРИИ МАССОВОГО ОБСЛУЖИВАНИЯ), ВО ВНУТРЕННИХ, СОБСТВЕННЫХ РАЗДЕЛАХ 
ПРОГРАММИРОВАНИЯ ГОСПОДСТВУЮТ УМЕНИЕ И ИНТУИЦИЯ ИЛИ В ЛУЧШЕМ СЛУЧАЕ 
"ПОЛЕЗНЫЕ СОВЕТЫ". еСТЬ, ПРАВДА, НЕКОТОРЫЕ ИССЛЕДОВАНИЯ, КАСАЮЩИЕСЯ УЖЕ
ГОТОВЫХ ПРОГРАММ, НО НЕТ НИКАКОЙ ТЕОРИИ САМОГО ПРОЦЕССА ПРОГРАММИРОВАНИЯ.
     
пРЕДЛАГАЕМАЯ КНИГА ПpЕДСТАВЛЯЕТ СОБОЙ ОДИН ИЗ ПЕРВЫХ ШАГОВ В ЭТОМ НАПРАВЛЕНИИ. 
в НЕЙ С КАЖДЫМ ОПЕРАТОРОМ, С ИХ КОМБИНАЦИЯМИ И, В ТОМ ЧИСЛЕ, С ЦИКЛАМИ 
СВЯЗЫВАЮТСЯ ПРЕОБРАЗОВАНИЯ ПРЕДИКАТОВ, ЯВЛЯЮЩИЕСЯ ФОРМАЛЬНЫМ ВЫРАЖЕНИЕМ ИХ 
СВОЙСТВ, И ОПРЕДЕЛЕНИЕ СВОЙСТВ ПРОГРАММЫ В ЦЕЛОМ ПРЕВРАЩАЕТСЯ В ЗАДАЧУ 
ЛОГИЧЕСКОГО ВЫВОДА. оСОБЕННО ВАЖНО,  ЧТО aВТop ОБЎЯСНЯЕТ И ДЕМОНСТРИРУЕТ 
НА ПРИМЕРАХ, КАК ЭТИМ ФОРМАЛИЗМОМ МОЖНО ПОЛЬЗОВАТЬСЯ ДЛЯ ПРАКТИЧЕСКОГО
ПРОГРАММИРОВАНИЯ. пРИ ЭТОМ ОН, РАЗУМЕЕТСЯ, НЕ ДАЕТ ОТВЕТА НА ВОПРОС О 
ТОМ, КАК НАПИСАТЬ ЛЮБУЮ ПРОГРАММУ, --- ОТВЕТА НА ЭТОТ ВОПРОС ВООБЩЕ  НЕ
СУЩЕСТВУЕТ. оН ПРЕДЛАГАЕТ НАМ ИНСТРУМЕНТ, ПОЗВОЛЯЮЩИЙ ПРОВЕРЯТЬ НАШИ  
ГИПОТЕЗЫ В ПРОЦЕССЕ ПРОЕКТИРОВАНИЯ ПРОГРАММ, А ИНОГДА И ПОДСКАЗЫВАЮЩИЙ
ТЕ ИЛИ ИНЫЕ ВАРИАНТЫ РЕШЕНИЙ.
     
а ЭТО СОВСЕМ НЕ МАЛО. пРЕДСТАВЬТЕ СЕБЕ ЧЕЛОВЕКА, ЖИВУЩЕГО В ЭПОХУ 
ЗАРОЖДЕНИЯ МАТЕМАТИЧЕСКОГО АНАЛИЗА, КОТОРОМУ НУЖНО НАХОДИТЬ НЕОПРЕДЕЛЕННЫЕ 
ИНТЕГРАЛЫ ОТ ВЕСЬМА ГРОМОЗДКИХ ПОДЫНТЕГРАЛЬНЫХ ВЫРАЖЕНИЙ И КОТОРЫЙ ЗНАЕТ 
ТОЛЬКО ОПРЕДЕЛЕНИЕ ПЕРВООБРАЗНОЙ ФУНКЦИИ И НЕ ЗНАЕТ НИКАКИХ ПРИЕМОВ 
ИНТЕГРИРОВАНИЯ. кАКИМ ДЛЯ НЕГО БЫЛО БЫ ПОДСПОРЬЕМ, ЕСЛИ БЫ ЕМУ
cooБЩИЛИ О ПРАВИЛЕ ИНТЕГРИРОВАНИЯ ПО ЧАСТЯМ ИЛИ О ТАКОМ ПРИЕМЕ, КАК ЗАМЕНА 
ПЕРЕМЕННЫХ! еГО РАБОТА НЕ ПЕРЕСТАНЕТ БЫТЬ ТВОРЧЕСКОЙ, НО НАСКОЛЬКО РАСШИРЯТСЯ
ЕГО ВОЗМОЖНОСТИ И КАК МНОГО ПЕРЕЙДЕТ ИЗ ОБЛАСТИ НАХОДОК  В ОБЛАСТЬ ТЕХНИКИ. 
тО, ЧТО БЫЛО СЛОЖНЫМ, СТАНЕТ ПРОСТЫМ, ТО, ЧТО БЫЛО НЕПОСИЛЬНЫМ, СТАНЕТ
ТОЛЬКО СЛОЖНЫМ. сИСТЕМАТИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ, ОБОБЩЕНИЕ И РАСШИРЕНИЕ ЭТИХ 
ПРИЕМОВ ПОЗВОЛИТ ПОСТЕПЕННО ПЕРЕЙТИ К ФОРМАЛИЗАЦИИ, АЛГОРИТМИЗАЦИИ, А
ЗАТЕМ И К АВТОМАТИЗАЦИИ ОТДЕЛЬНЫХ ЭТАПОВ РЕШЕНИЯ ИЛИ ПОЛНОГО РЕШЕНИЯ 
СПЕЦИАЛЬНЫХ КЛАССОВ ЗАДАЧ
     
AВТОР КНИГИ, э.~дЕЙКСТРa,   НЕ НУЖДАЕТСЯ В ПРЕДСТАВЛЕНИИ,--- ЕГО РАБОТЫ 
ХОРОШО  ИЗВЕСТНЫ СОВЕТСКИМ ПРОГРАММИСТАМ. вМЕСТЕ С ч.~хОАРОМ ОНИ
НЕДАВНО СОВЕРШИЛИ ПОЕЗДКУ ПО КРУПНЕЙШИМ ГОРОДАМ НАШЕЙ СТРАНЫ, ВО 
ВРЕМЯ КОТОРОЙ ВЫСТУПИЛИ С ЛЕКЦИЯМИ ПЕРЕД МНОГОЧИСЛЕННЫМИ АУДИТОРИЯМИ.

о СТРУКТУРЕ И СТИЛЕ КНИГИ ДОСТАТОЧНО ПОЛНО СКАЗАНО В ПРЕДИСЛОВИИ АВТОРА. 
тАМ ЖЕ ОН ПРЕДУПРЕЖДАЕТ, ЧТО ЧИТАТЬ ЕГО КНИГУ ТРУДНО. пРИЧИНА ЭТОГО 
ЗАКЛЮЧАЕТСЯ В СЛОЖНОСТИ САМИХ ПРОГРАММ, ПОСЛУЖИВШИХ ДЛЯ НЕЕ МАТЕРИАЛОМ. 
я ХОТЕЛ БЫ ДОБАВИТЬ, ЧТО ОНИ СЛОЖНЫ ДЛЯ НАС ТОЛЬКО СЕЙЧАС, КОГДА ТЕОРИЯ 
ПРОГРАММИРОВАНИЯ ДЕЛАЕТ СВОИ ПЕРВЫЕ ШАГИ. пРИДЕТ ВРЕМЯ, И ТАКИЕ ПРОГРАММЫ 
СМОЖЕТ СОСТАВЛЯТЬ (ИЛИ ВЫВОДИТЬ) ПРЯМО НА УРОКЕ КАЖДЫЙ ШКОЛЬНИК. 
и ЧТОБЫ ЭТО ВРЕМЯ ПРИБЛИЗИТЬ, НАДО ОСВАИВАТЬ, ВНЕДРЯТЬ И РАЗВИВАТЬ ТЕОРИЮ. 
а ЭТОТ ПРОЦЕСС ЛЕГКО НЕ ПРОХОДИТ.
     
пЕРЕВОД ПРЕДИСЛОВИЯ И ГЛАВ 1--7 ВЫПОЛНЕН в.в.~мАРТЫНЮКОМ, 
ГЛАВ 8--21 --- и.X.~зУСМАН,  ГЛАВ 22--27 --- л.в.~уХОВЫМ.

\rightline{{\sl э.~3.~лЮБИМСКИЙ}}
\eject
\vfill

\chapter{предисловие}
\medskip
иСТОРИКИ ТАКИХ ДРЕВНИХ ИНТЕЛЛЕКТУАЛЬНЫХ ДИСЦИПЛИН, КАК ПОЭЗИЯ, МУЗЫКА, ЖИВОПИСЬ 
И НАУКА, ВЫСОКО ОЦЕНИВАЮТ РОЛЬ ВЫДАЮЩИХСЯ ПРАКТИКОВ, ЧЬИ ДОСТИЖЕНИЯ ОБОГАТИЛИ 
ОПЫТ И РАСШИРИЛИ ПРЕДСТАВЛЕНИЯ ПОКЛОННИКОВ ЭТИХ ДИСЦИПЛИН, ПРОБУДИЛИ И УКРЕПИЛИ 
ТАЛАНТЫ ПОСЛЕДОВАТЕЛЕЙ. тО НОВОЕ, ЧТО ИМИ ВНЕСЕНО, ОСНОВЫВАЕТСЯ НА СОЧЕТАНИИ
ВИРТУОЗНОГО ПРАКТИЧЕСКОГО МАСТЕРСТВА И ПРОНИЦАТЕЛЬНОГО ОСМЫСЛИВАНИЯ 
ФУНДАМЕНТАЛЬНЫХ ПРИНЦИПОВ. вО МНОГИХ СЛУЧАЯХ ВЛИЯНИЕ ЭТИХ ЛЮДЕЙ УСИЛИВАЛОСЬ 
БЛАГОДАРЯ ИХ ВЫСОКОЙ КУЛЬТУРЕ, БОГАТСТВУ И ВЫРАЗИТЕЛЬНОСТИ ИХ РЕЧИ.
     
в ЭТОЙ КНИГЕ В ПРИСУЩЕМ ЕЕ АВТОРУ УТОНЧЕННОМ СТИЛЕ ПРЕДСТАВЛЕНА ПРИНЦИПИАЛЬНО 
НОВАЯ ТОЧКА ЗРЕНИЯ НА СУЩЕСТВО ПРОГРАММИРОВАНИЯ. иСХОДЯ ИЗ ЭТОЙ ТОЧКИ
ЗРЕНИЯ, АВТОР РАЗРАБОТАЛ СОВОКУПНОСТЬ НОВЫХ МЕТОДОВ ПРОГРАММИРОВАНИЯ И 
СРЕДСТВ ОБОЗНАЧЕНИЯ, КОТОРЫЕ ДЕМОНСТРИРУЮТСЯ И ПРОВЕРЯЮТСЯ НА МНОГОЧИСЛЕННЫХ
ИЗЯЩНЫХ И СОДЕРЖАТЕЛЬНЫХ ПРИМЕРАХ. эТОТ ТРУД, НЕСОМНЕННО, БУДЕТ ПРИЗНАН ОДНИМ 
ИЗ ВЫДАЮЩИХСЯ ДОСТИЖЕНИЙ В РАЗРАБОТКЕ НОВОЙ ИНТЕЛЛЕКТУАЛЬНОЙ 
ДИСЦИПЛИНЫ --- ПРОГРАММИРОВАННЯ ДЛЯ ВЫЧИСЛИТЕЛЬНЫХ МАШИН.

\rightline{ч.~а.~р.~хОАР}
\vfill
\eject
     
\chapter{от автора}
уЖЕ ДАВНО МНЕ ХОТЕЛОСЬ НАПИСАТЬ КНИГУ ТАКОГО РОДА. я ЗНАЛ, ЧТО ПРОГРАММЫ 
МОГУТ ОЧАРОВЫВАТЬ ГЛУБИНОЙ СВОЕГО  ЛОГИЧЕСКОГО ИЗЯЩЕСТВА, НО МНЕ
ПОСТОЯННО ПРИХОДИЛОСЬ  УБЕЖДАТЬСЯ, ЧТО БОЛЬШИНСТВО ИЗ НИХ ПОЯВЛЯЮТСЯ В 
ВИДЕ, РАССЧИТАННОМ  НА МЕХАНИЧЕСКОЕ ИСПОЛНЕНИЕ, НО СОВЕРШЕННО НЕПРИГОДНОМ
ДЛЯ ЧЕЛОВЕЧЕСКОГО ВОСПРИЯТИЯ --- ГДЕ УЖ ТАМ ГОВОРИТЬ ОБ ИЗЯЩЕСТВЕ.  
мЕНЯ НЕ УДОВЛЕТВОРЯЛО И ТО, ЧТО АЛГОРИТМЫ ЧАСТО ПУБЛИКУЮТСЯ В ФОРМЕ ГОТОВЫХ
ИЗДЕЛИЙ, ПОЧТИ БЕЗ УПОМИНАНИЯ ТЕХ РАССМОТРЕНИЙ, КОТОРЫЕ ПРОВОДИЛИСЬ В ПРОЦЕССЕ 
РАЗРАБОТКИ И СЛУЖИЛИ ОБОСНОВАНИЕМ ДЛЯ ОКОНЧАТЕЛЬНОГО ВИДА ЗАВЕРШЕННОЙ
ПРОГРАММЫ. сНАЧАЛА Я ЗАДУМАЛ ИЗЛОЖИТЬ НЕКОТОРОЕ КОЛИЧЕСТВО ИЗЯЩНЫХ АЛГОРИТМОВ 
ТАКИМ СПОСОБОМ, ЧТОБЫ ЧИТАТЕЛЬ СМОГ ПРОЧУВСТВОВАТЬ ИХ КРАСОТУ; ДЛЯ ЭТОГО
Я СОБИРАЛСЯ КАЖДЫЙ РАЗ ОПИСЫВАТЬ ИСТИННЫЙ ИЛИ ВООБРАЖАЕМЫЙ ПРОЦЕСС ПОСТРОЕНИЯ, 
КОТОРЫЙ ПРИВОДИЛ БЫ К ПОЛУЧЕНИЮ ИСКОМОЙ ПРОГРАММЫ. я НЕ ИЗМЕНИЛ СВОЕМУ 
ПЕРВОНАЧАЛЬНОМУ НАМЕРЕНИЮ В ТОМ СМЫСЛЕ, ЧТО ОСНОВОЙ ЭТОЙ МОНОГРАФИИ ОСТАЕТСЯ 
ДЛИННАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ ГЛАВ, В КАЖДОЙ ИЗ КОТОРЫХ СТАВИТСЯ И РЕШАЕТСЯ НОВАЯ 
ЗАДАЧА. тЕМ НЕ МЕНЕЕ ОКОНЧАТЕЛЬНЫЙ ВАРИАНТ КНИГИ СУЩЕСТВЕННО ОТЛИЧАЕТСЯ
ОТ ЕЕ ПЕРВОНАЧАЛЬНОГО ЗАМЫСЛА ПОСКОЛЬКУ ВОЗЛОЖЕННАЯ МНОЮ НА СЕБЯ ОБЯЗАННОСТЬ 
ПРЕСТАВЛЯТЬ РЕШЕНИЯ В ЕСТЕСТВЕННОЙ И УБЕДИТЕЛЬНОЙ МАНЕРЕ ПОВЛЕКЛА ЗА СОБОЙ 
ГОРАЗДО БОЛЬШЕЕ, ЧЕМ Я ОЖИДАЛ, И Я НАВСЕГДА СОХРАНЮ ЧУВСТВО БЛАГОДАРНОСТИ 
СУДЬБЕ ЗА ТО, ЧТО ВЗЯЛСЯ ЗА ЭТУ РАБОТУ.
     
кОГДА НАЧИНАЕШЬ ПИСАТЬ ПОДОБНУЮ КНИГУ, СРАЗУ ВОЗНИКАЕТ ПРОБЛЕМА: КАКИМ 
ЯЗЫКОМ ПРОГРАММИРОВАНИЯ ПОЛЬЗОВАТЬСЯ? и ЭТО НЕ ТОЛЬКО ВОПРОС ПРЕДСТАВЛЕНИЯ!
нАИБОЛЕЕ ВАЖНЫМ, НО В ТО ЖЕ ВРЕМЯ И НАИБОЛЕЕ НЕЗАМЕТНЫМ СВОЙСТВОМ ЛЮБОГО 
ИНСТРУМЕНТА ЯВЛЯЕТСЯ ЕГО ВЛИЯНИЕ НА ФОРМИРОВАНИЕ ПРИВЫЧЕК ЛЮДЕЙ, КОТОРЫЕ 
ИМЕЮТ ОБЫКНОВЕНИЕ ИМ ПОЛЬЗОВАТЬСЯ. кОГДА ЭТОТ ИНСТРУМЕНТ --- ЯЗЫК 
ПРОГРАММИРОВАНИЯ, ЕГО ВЛИЯНИЕ, НЕЗАВИСИМО ОТ НАШЕГО ЖЕЛАНИЯ, СКАЗЫВАЕТСЯ
НА НАШЕМ СПОСОБЕ  МЫШЛЕНИЯ. пРОАНАЛИЗИРОВАВ В СВЕТЕ ЭТОГО ВЛИЯНИЯ ВСЕ 
ИЗВЕСТНЫЕ МНЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ, Я ПРИШЕЛ К ВЫВОДУ, ЧТО НИ ОНИ
САМИ, НИ ИХ ПОДМНОЖЕСТВА НЕ ПОДХОДЯТ ДЛЯ МОИХ ЦЕЛЕЙ. с ДРУГОЙ СТОРОНЫ, 
Я СЧИТАЛ СЕБЯ НАСТОЛЬКО НЕ ПОДГОТОВЛЕННЫМ К СОЗДАНИЮ НОВОГО ЯЗЫКА
ПРОГРАММИРОВАНИЯ, ЧТО ДАЛ ЗАРОК НЕ ЗАНИМАТЬСЯ ЭТИМ В БЛИЖАЙШЕЕ ПЯТИЛЕТИЕ, 
И Я ТВЕРДО ЗНАЮ, ЧТО ЭТОТ СРОК ЕЩЕ НЕ ВЫШЕЛ. (пРЕЖДЕ, ПОМИМО ВСЕГО ПРОЧЕГО,
МНЕ НУЖНО БЫЛО НАПИСАТЬ ЭТУ МОНОГРАФИЮ.) я ПОПЫТАЛСЯ ВЫБРАТЬСЯ ИЗ ЭТОГО 
ТУПИКА, СОЗДАВ ЛИШЬ ПОДХОДЯЩИЙ ДЛЯ МОИХ ЦЕЛЕЙ МИНИ-ЯЗЫК И ВКЛЮЧИВ В
НЕГО ТОЛЬКО ТЕ ЭЛЕМЕНТЫ, КОТОРЫЕ ПРЕДСТАВЛЯЮТСЯ СОВЕРШЕННО НЕОБХОДИМЫМИ 
И ДОСТАТОЧНО ОБОСНОВАННЫМИ.
     
эТИ МОИ КОЛЕБАНИЯ И САМООГРАНИЧЕНИЕ, ЕСЛИ ИХ НЕПРАВИЛЬНО ПОНЯТЬ, МОГУТ 
РАЗОЧАРОВАТЬ МНОГИХ ПОТЕНЦИАЛЬНЬНЫХ ЧИТАТЕЛЕЙ. нАВЕРНЯКА РАЗОЧАРУЮТСЯ
ВСЕ ТЕ, КТО ОТОЖДЕСТВЛЯЕТ ТРУДНОСТЬ ПРОГРАММИРОВАНИЯ С ТРУДНОСТЬЮ 
ИЗОЩРЕННОГО ИСПОЛЬЗОВАНИЯ ГРОМОЗДКИХ И ПРИЧУДЛИВЫХ СООРУЖЕНИЙ,
ИЗВЕСТНЫХ ПОД НАЗВАНИЕМ "ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ" 
ИЛИ --- ЕЩЕ ХУЖЕ! --- "СИСТЕМЫ ПРОГРАММИРОВАНИЯ". еСЛИ ОНИ СОЧТУТ СЕБЯ 
ОБМАНУТЫМИ ИЗ-ЗА ТОГО, ЧТО Я ВОВСЕ НЕ КАСАЮСЬ ВСЕХ ЭТИХ ПОГРЕМУШЕК И 
СВИСТУЛЕК, МОГУ ОТВЕТИТЬ ИМ ТОЛЬКО ОДНО: "а ВПОЛНЕ ЛИ ВЫ УВЕРЕНЫ, ЧТО ВСЕ ЭТИ
ПОГРЕМУШКИ И СВИСТУЛЬКИ,  ВСЕ ЭТИ ПОТРЯСАЮЩИЕ ВОЗМОЖНОСТИ ВАШИХ, ТАК СКАЗАТЬ, 
"МОЩНЫХ" ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ИМЕЮТ ОТНОШЕНИЕ К ПРОЦЕССУ РЕШЕНИЯ, А НЕ К 
САМИМ ЗАДАЧАМ?" мНЕ ОСТАЕТСЯ ЛИШЬ НАДЕЯТЬСЯ, ЧТО, НЕСМОТРЯ НА УПОТРЕБЛЕНИЕ 
МНОЮ МИНИ-ЯЗЫКА, ОНИ ВСЕ ЖЕ ПРОЧТУТ ПРЕДЛАГАЕМЫЙ ТЕКСТ. тОГДА ОНИ, ВОЗМОЖНО 
ПРИЗНАЮТ, ЧТО ПОМИМО ПОГРЕМУШЕК И СВИСТУЛЕК ИМЕЕТСЯ ОЧЕНЬ БОГАТОЕ СОДЕРЖАНИЕ 
И ВОЗНИКНЕТ ВОПРОС, СТОИЛО ЛИ БОЛЬШИНСТВО ИЗ НИХ ВООБЩЕ ПРИДУМЫВАТЬ. а ВСЕМ 
ЧИТАТЕЛЯМ, ИНТЕРЕСУЮЩИМСЯ ПРЕИМУЩЕСТВЕННО РАЗРАБОТКОЙ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ, 
Я МОГУ ТОЛЬКО ПРИНЕСТИ ИЗВИНЕНИЯ В СВЯЗИ С ТЕМ, ЧТО ЕЩЕ НЕ МОГУ ВЫСКАЗАТЬСЯ НА 
ЭТУ ТЕМУ БОЛЕЕ ОПРЕДЕЛЕННО. тЕМ ВРЕМЕНЕМ ЭТА МОНОГРАФИЯ, ВОЗМОЖНО, НАВЕДЕТ ИХ 
НА НЕКОТОРЫЕ РАЗМЫШЛЕНИЯ И ПОМОЖЕТ ИМ ИЗБЕЖАТЬ ОШИБОК, КОТОРЫЕ ОНИ МОГЛИ БЫ 
СОВЕРШИТЬ, ЕСЛИ БЫ НЕ ПРОЧЛИ ЕЕ.

\bigskip
пРОЦЕСС РАБОТЫ НАД КНИГОЙ, КОТОРЫЙ ЯВИЛСЯ ДЛЯ  МЕНЯ НЕПРЕРЫВНЫМ ИСТОЧНИКОМ 
УДИВЛЕНИЯ И ВДОХНОВЕНИЯ, ПРИВЕЛ К ПОЯВЛЕНИЮ ТЕКСТА, ОСНОВАТЕЛЬНО ОТЛИЧАЮЩЕГОСЯ 
ОТ ПЕРВОНАЧАЛЬНОГО ЗАМЫСЛА. сНАЧАЛА У МЕНЯ БЫЛО ВПОЛНЕ ПОНЯТНОЕ НАМЕРЕНИЕ 
ПРЕДСТАВИТЬ ПОСТРОЕНИЕ ПРОГРАММ С ПОМОЩЬЮ  АППАРАТА, ЧУТЬ БОЛЕЕ ФОРМАЛЬНОГО 
ЧЕМ ТОТ, КОТОРЫЙ Я ИМЕЛ  ОБЫКНОВЕНИЕ ИСПОЛЬЗОВАТЬ В СВОИХ ВВОДНЫХ ЛЕКЦИЯХ, 
ГДЕ СЕМАНТИКА ОБЫЧНО ВВОДИЛАСЬ ИНТУИТИВНО, А ДОКАЗАТЕЛЬСТВА ПРАВИЛЬНОСТИ 
ПРЕДСТАВЛЯЛИ СОБОЙ СМЕСЬ СТРОГИХ РАССУЖДЕНИЙ, ЖЕСТИКУЛЯЦИИ И КРАСНОРЕЧИЯ.
рАЗРАБАТЫВАЯ НЕОБХОДИМЫЕ ОСНОВЫ ДЛЯ  БОЛЕЕ ФОРМАЛЬНОГО ПОДХОДА, Я ОБНАРУЖИЛ 
ДВА НЕОЖИДАННЫХ ОБСТОЯТЕЛЬСТВА.
     
пЕРВАЯ НЕОЖИДАННОСТЬ СОСТОЯЛА В ТОМ, ЧТО ТАК НАЗЫВАЕМЫЕ "ПРЕОБРАЗОВАТЕЛИ 
ПРЕДИКАТОВ", ВЫБРАННЫЕ МНОЮ В КАЧЕСТВЕ СРЕДСТВА ИЗЎЯСНЕНИЯ, ПОЗВОЛИЛИ ПРЯМО
ОПРЕДЕЛЯТЬ СВЯЗЬ МЕЖДУ НАЧАЛЬНЫМ И КОНЕЧНЫМ СОСТОЯНИЯМИ БЕЗ КАКИХ-ЛИБО 
ССЫЛОК НА ПРОМЕЖУТОЧНЫЕ СОСТОЯНИЯ, КОТОРЫЕ МОГУТ ВОЗНИКАТЬ ВО ВРЕМЯ
ВЫПОЛНЕНИЯ ПРОГРАММЫ.  я ОБРАДОВАЛСЯ ТОМУ, ЧТО ЭТО ДАЕТ ВОЗМОЖНОСТЬ ПРОВЕСТИ 
ЧЕТКОЕ РАЗГРАНИЧЕНИЕ ДВУХ ОСНОВНЫХ ПРОБЛЕМАТИК ПРОГРАММИРОВАНИЯ:
ПРОБЛЕМАТИКИ  МАТЕМАТИЧЕСКОЙ КОРРЕКТНОСТИ (РЕЧЬ ИДЕТ О ПРОВЕРКЕ, ОПРЕДЕЛЯЕТ 
ЛИ ПРОГРАММА ПРАВИЛЬНОЕ  СООТНОШЕНИЕ МЕЖДУ НАЧАЛЬНЫМ И КОНЕЧНЫМ
СОСТОЯНИЯМИ --- И ПРЕОБРАЗОВАТЕЛИ ПРЕДИКАТОВ ОБЕСПЕЧИВАЮТ НАМ ФОРМАЛЬНОЕ 
СРЕДСТВО ДЛЯ ТАКОГО ИССЛЕДОВАНИЯ БЕЗ РАССМОТРЕНИЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА) 
И ИНЖЕНЕРНОЙ ПРОБЛЕМАТИКИ ЭФФЕКТИВНОСТИ (БЛАГОДАРЯ РАЗГРАНИЧЕНИЮ СТАНОВИТСЯ 
ОЧЕВИДНЫМ, ЧТО ПОСЛЕДНЯЯ ПРОБЛЕМАТИКА ОПРЕДЕЛЕНА ТОЛЬКО В СВЯЗИ С РЕАЛИЗАЦИЕЙ).
пОЖАЛУЙ, САМОЕ ПОЛЕЗНОЕ ОТКРЫТИЕ СОСТОИТ В ТОМ, ЧТО ОДИН И ТОТ ЖЕ ТЕКСТ 
ПРОГРАММЫ ДОПУСКАЕТ ДВЕ (В ИЗВЕСТНОМ СМЫСЛЕ ДОПОЛНЯЮЩИЕ ДРУГ ДРУГА) 
ИНТЕРПРЕТАЦИИ. иНТЕРПРЕТАЦИЯ В  ВИДЕ КОДА ПРЕОБРАЗОВАТЕЛЕЙ ПРЕДИКАТОВ, КОТОРАЯ 
ПРЕДСТАВЛЯЕТСЯ БОЛЕЕ ПОДХОДЯЩЕЙ ДЛЯ НАС,  ПРОТИВОСТОИТ ИНТЕРПРЕТАЦИИ В
ВИДЕ КОДА ДЛЯ  ВЫПОЛНЕНИЯ --- ЕЕ Я ПРЕДПОЧИТАЮ ОСТАВЛЯТЬ МАШИНАМ!

вТОРОЙ НЕОЖИДАННОСТЬЮ ОКАЗАЛОСЬ ТО, ЧТО САМЫЕ ЕСТЕСТВЕННЫЕ И 
СИСТЕМАТИЗИРОВАННЫЕ "КОДЫ ПРЕОБРАЗОВАТЕЛЕЙ ПРЕДИКАТОВ", КАКИЕ Я МОГ СЕБЕ
ПРЕДСТАВИТЬ, ПОТРЕБОВАЛИ БЫ  НЕДЕТЕРМИНИРОВАННОЙ РЕАЛИЗАЦИИ, ЕСЛИ РАССМАТРИВАТЬ 
ИХ КАК "КОДЫ ДЛЯ ВЫПОЛНЕНИЯ". вНАЧАЛЕ Я СОДРОГАЛСЯ ОТ МЫСЛИ, ЧТО ПРИДЕТСЯ 
ВВЕСТИ НЕДЕТЕРМИНИРОВАННОСТЬ УЖЕ В ОДНОПРОГРАМНОМ РЕЖИМЕ (СЛИШКОМ ХОРОШО МНЕ 
БЫЛИ ИЗВЕСТНЫ СЛОЖНОСТИ, ВОЗНИКАЮЩИЕ ИЗ-ЗА ЭТОГО В МУЛЬТИПРОГРАММИРОВАНИИ); 
ОДНАКО ПОТОМ Я ПОНЯЛ, ЧТО ИНТЕРПРЕТАЦИЯ ТЕКСТА КАК КОДА ПРЕОБРАЗОВАТЕЛЯ
ПРЕДИКАТОВ ИМЕЕТ ПРАВО НА НЕЗАВИСИМОЕ СУЩЕСТВОВАНИЕ. (оГЛЯДЫВАЯСЬ НАЗАД, 
МЫ МОЖЕМ ОТМЕТИТЬ, ЧТО МНОГИЕ ПРОБЛЕМЫ МУЛЬТИПРОГРАММИРОВАНИЯ, СТАВИВШИЕ НАС 
ПРЕЖДЕ В ТУПИК, ЯВЛЯЮТСЯ ВСЕГО ЛИШЬ СЛЕДСТВИЕМ АПРИОРНОЙ ТЕНДЕНЦИИ ПРИДАВАТЬ 
ДЕТЕРМИНИРОВАННОСТИ СЛИШКОМ БОЛЬШОЕ ЗНАЧЕНИЕ.)  в КОНЦЕ КОНЦОВ Я ПРИШЕЛ К
ТОМУ, ЧТО СТАЛ СЧИТАТЬ НЕДЕТЕРМИНИРОВАННОСТЬ ЕСТЕСТВЕННОЙ СИТУАЦИЕЙ, ПРИ ЭТОМ
ДЕТЕРМИНИРОВАННОСТЬ СВЕЛАСЬ К ДОВОЛЬНО БАНАЛЬНОМУ ЧАСТНОМУ СЛУЧАЮ.

уСТАНОВИВ ЭТИ ОСНОВЫ, Я ПРИСТУПИЛ, КАК И НАМЕРЕВАЛСЯ, К РЕШЕНИЮ ДЛИННОЙ 
ПОСЛЕДОВАТЕЛЬНОСТИ ЗАДАЧ. эТО ЗАНЯТИЕ ОКАЗАЛОСЬ НЕОЖИДАННО УВЛЕКАТЕЛЬНЫМ. я
УБЕДИЛСЯ В ТОМ, ЧТО ФОРМАЛЬНЫЙ АППАРАТ ПОЗВОЛЯЕТ МНЕ УХВАТЫВАТЬ СУЩЕСТВО 
ДЕЛА ГОРАЗДО ЧЕТЧЕ, ЧЕМ РАНЬШЕ. я ПОЛУЧИЛ УДОВОЛЬСТВИЕ, ОБНАРУЖИВ, ЧТО
ЯВНАЯ ПОСТАНОВКА ВОПРОСА О ЗАВЕРШИМОСТИ МОЖЕТ ИМЕТЬ БОЛЬШОЕ ЭВРИСТИЧЕСКОЕ 
ЗНАЧЕНИЕ; ТУТ Я ДАЖЕ НАЧАЛ СОЖАЛЕТЬ  ОБ ИЗЛИШНЕ РАСПРОСТРАНЕННОЙ СКЛОННОСТИ 
К ЧАСТИЧНОЙ КОРРЕКТНОСТИ. нО САМОЕ ПРИЯТНОЕ СОСТОЯЛО В ТОМ, ЧТО БОЛЬШИНСТВО 
РЕШЕННЫХ МНОЮ РАНЕЕ ЗАДАЧ ТЕПЕРЬ УВЕНЧАЛОСЬ БОЛЕЕ ИЗЯЩНЫМИ РЕШЕНИЯМИ. 
я ВОСПРИНЯЛ ЭТО КАК ВЕСЬМА ОБОДРЯЮЩЕЕ СВИДЕТЕЛЬСТВО ТОГО, ЧТО РАЗРАБОТАННАЯ 
МЕТОДИКА И В САМОМ ДЕЛЕ УЛУЧШИЛА МОИ ПРОГРАММИСТСКИЕ ВОЗМОЖНОСТИ.

\bigskip
кАК СЛЕДУЕТ ИЗУЧАТЬ ЭТУ МОНОГРАФИЮ? лУЧШЕЕ, ЧТО Я МОГУ ПОСОВЕТОВАТЬ: 
ПРЕРЫВАЙТЕ ЧТЕНИЕ, КАК ТОЛЬКО УСВОИТЕ ПОСТАНОВКУ ЗАДАЧИ, И ПЫТАЙТЕСЬ СНАЧАЛА
РЕШИТЬ ЕЕ САМОСТОЯТЕЛЬНО, ЗАТЕМ ПРОДОЛЖАЙТЕ ЧТЕНИЕ. пОПЫТКА САМОСТОЯТЕЛЬНОГО 
РЕШЕНИЯ ЗАДАЧИ ПРЕДСТАВЛЯЕТСЯ ЕДИНСТВЕННЫМ СПОСОБОМ ПРОЧУВСТВОВАТЬ, НАСКОЛЬКО 
ОНА ТРУДНА; КРОМЕ ТОГО, ВЫ МОЖЕТЕ СРАВНИВАТЬ МОЕ РЕШЕНИЕ С ВАШИМ И ПОЛУЧИТЬ 
УДОВЛЕТВОРЕНИЕ, ЕСЛИ ВАШЕ ОКАЖЕТСЯ ЛУЧШЕ. пРЕДУПРЕЖДАЮ ЗАРАНЕЕ: НЕ ОГОРЧАЙТЕСЬ, 
КОГДА УВИДИТЕ, ЧТО ЭТОТ ТЕКСТ ЧИТАЕТСЯ ОТНЮДЬ НЕ ЛЕГКО. тЕ, КТО ИЗУЧАЛИ ЕГО 
В РУКОПИСИ, ЧАСТО ИСПЫТЫВАЛИ ЗАТРУДНЕНИЯ (НО ВПОЛНЕ ВОЗНАГРАЖДАЛИСЬ ЗА ЭТО).
вПРОЧЕМ, КАЖДЫЙ ПРИ АНАЛИЗЕ ИХ ЗАТРУДНЕНИЙ МЫ СОВМЕСТНО УБЕЖДАЛИСЬ В ТОМ, 
ЧТО "ВИНОВНЫМ" ОКАЗЫВАЛСЯ ВОВСЕ НЕ ТЕКСТ (Т. Е. СПОСОБ ИЗЛОЖЕНИЯ), А САМ 
ИЗЛАГАЕМЫЙ МАТЕРИАЛ. мОРАЛЬ ЭТОГО МОЖЕТ БЫТЬ ТОЛЬКО ТАКОВА: НЕТРИВИАЛЬНЫЙ
АЛГОРИТМ И ВПРАВДУ НЕТРИВИАЛЕН, А ЕГО ОКОНЧАТЕЛЬНАЯ ЗАПИСЬ НА ЯЗЫКЕ 
ПРОГРАММИРОВАНИЯ СЛИШКОМ ЛАКОНИЧНА ПО СРАВНЕНИЮ С РАССУЖДЕНИЯМИ,
ОБОСНОВЫВАЮЩИМИ ЕГО РАЗРАБОТКУ; ЭТА КРАТКОСТЬ ОКОНЧАТЕЛЬНОГО ТЕКСТА НЕ 
ДОЛЖНА НАС ДЕЗОРИЕНТИРОВАТЬ. оДИН ИЗ МОИХ  СОТРУДНИКОВ ВНЕС ПРЕДЛОЖЕНИЕ 
(А Я ДОВОЖУ ЕГО ДО ВАШЕГО СВЕДЕНИЯ, ПОСКОЛЬКУ ОНО МОЖЕТ ОКАЗАТЬСЯ ПОЛЕЗНЫМ), 
ЧТОБЫ НЕБОЛЬШИЕ ГРУППЫ СТУДЕНТОВ ИЗУЧАЛИ КНИГУ ВМЕСТЕ. (зДЕСЬ Я ДОЛЖЕН ДОБАВИТЬ 
В СКОБКАХ ЗАМЕЧАНИЕ ПО ПОВОДУ "ТРУДНОСТИ" ЭТОГО ТЕКСТА. пОСВЯТИВ НЕМАЛО ЛЕТ 
СВОЕЙ НАУЧНОЙ ЖИЗНИ ТОМУ ЧТОБЫ ПРОЯСНИТЬ ЗАДАЧИ ПРОГРАММИСТА И СДЕЛАТЬ ИХ 
БОЛЕЕ ПОДВЛАСТНЫМИ НАШЕМУ ИНТЕЛЛЕКТУ, Я ОБНАРУЖИЛ С УДИВЛЕНИЕМ (И РАЗДРАЖЕНИЕМ), 
ЧТО МОЕ СТРЕМЛЕНИЕ ВНЕСТИ ЯСНОСТЬ ПРИВОДИТ К СИСТЕМАТИЧЕСКИМ ОБВИНЕНИЯМ В ТОМ, 
ЧТО Я "ВНЕС В ПРОГРАММИРОВАНИЕ ТРУДНОСТИ". нО ЭТИ ТРУДНОСТИ ВСЕГДА В НЕМ БЫЛИ; 
И ТОЛЬКО СДЕЛАВ ИХ ВИДИМЫМИ, МЫ СМОЖЕМ НАДЕЯТЬСЯ, ЧТО НАУЧИМСЯ РАЗРАБАТЫВАТЬ 
ПРОГРАММЫ С ВЫСОКОЙ СТЕПЕНЬЮ НАДЕЖНОСТИ, А НЕ ПРОСТО "ЛЕПИТЬ КОМАНДЫ", 
Т.~Е. ВЫДАВАТЬ ТЕКСТЫ, ОСНОВАННЫЕ НА НЕУБЕДИТЕЛЬНЫХ ПРЕДПОЛОЖЕНИЯХ, 
СОСТОЯТЕЛЬНОСТЬ КОТОРЫХ МОЖЕТ ВЫЯВИТЬСЯ ПОСЛЕ ПЕРВОГО ЖЕ ПРОТИВОРЕЧАЩЕГО 
ПРИМЕРА. нЕЗАЧЕМ И ГОВОРИТЬ, ЧТО НИ ОДНА ПРОГРАММА ИЗ ЭТОЙ МОНОГРАФИИ НЕ
ПРОВЕРЯЛАСЬ НА МАШИНЕ.)

я ДОЛЖЕН ОБЎЯСНИТЬ ЧИТАТЕЛЮ, ПОЧЕМУ Я ПОЛЬЗУЮСЬ МИНИ-ЯЗЫКОМ, СТОЛЬ 
ОГРАНИЧЕННЫМ, ЧТО В НЕМ НЕТ ДАЖЕ ПРОЦЕДУР И РЕКУРСИИ. пОСКОЛЬКУ КАЖДОЕ
СЛЕДУЮЩЕЕ РАСШИРЕНИЕ ЯЗЫКА ДОБАВЛЯЛО БЫ К ЭТОЙ КНИГЕ ЕЩЕ НЕСКОЛЬКО ГЛАВ, 
ТЕМ САМЫМ СООТВЕТСТВЕННО УВЕЛИЧИВАЯ ЕЕ СТОИМОСТЬ, ОТСУТСТВИЕ БОЛЬШИНСТВА
ВОЗМОЖНЫХ РАСШИРЕНИЙ (ТАКИХ, КАК, НАПРИМЕР, МУЛЬТИПРОГРАММИРОВАНИЕ) НЕ 
НУЖДАЕТСЯ В ДОПОЛНИТЕЛЬНЫХ ОПРАВДАНИЯХ.  оДНАКО  ПРОЦЕДУРЫ ВСЕГДА ЗАНИМАЛИ 
ТАКОЕ ВАЖНОЕ МЕСТО, А РЕКУРСИЯ ДЛЯ ВЫЧИСЛИТЕЛЬНОЙ НАУКИ В ТАКОЙ СТЕПЕНИ 
СЧИТАЛАСЬ ПРИЗНАКОМ  АКАДЕМИЧЕСКОЙ РЕСПЕКТАБЕЛЬНОСТИ, ЧТО НЕКОТОРОЕ 
РАЗЎЯСНЕНИЕ ПРЕДСТАВЛЯЕТСЯ НЕОБХОДИМЫМ.

пРЕЖДЕ ВСЕГО ЭТА КНИГА ПРЕДНАЗНАЧЕНА НЕ ДЛЯ НАЧИНАЮЩИХ, И Я РАССЧИТЫВАЮ, ЧТО 
МОИ ЧИТАТЕЛИ УЖЕ ЗНАКОМЫ С УКАЗАННЫМИ ПОНЯТИЯМИ. вО-ВТОРЫХ, КНИГА НЕ ЯВЛЯЕТСЯ
ВВОДНЫМ ТЕКСТОМ ПО КАКОМУ-ТО КОНКРЕТНОМУ ЯЗЫКУ ПРОГРАММИРОВАНИЯ, ТАК ЧТО 
ОТСУТСТВИЕ В НЕЙ ЭТИХ КОНСТРУКЦИЙ И ПРИМЕРОВ ИХ УПОТРЕБЛЕНИЯ НЕ СЛЕДУЕТ
ОБЎЯСНЯТЬ МОЕЙ НЕСПОСОБНОСТЬЮ ИЛИ НЕЖЕЛАНИЕМ ИМИ ПОЛЬЗОВАТЬСЯ ИЛИ ЖЕ 
ВОСПРИНИМАТЬ КАК НАМЕК НА ТО, ЧТО ВООБЩЕ ЛУЧШЕ ВОЗДЕРЖИВАТЬСЯ ОТ ИХ ПРИМЕНЕНИЯ.
пРОСТО ОНИ НЕ ПОТРЕБОВАЛИСЬ МНЕ ДЛЯ РАЗЎЯСНЕНИЯ МОЕЙ ГЛАВНОЙ МЫСЛИ О ТОМ, 
НАСКОЛЬКО СУЩЕСТВЕННО ТЩАТЕЛЬНОЕ РАЗГРАНИЧЕНИЕ ПРОБЛЕМАТИК ДЛЯ РАЗРАБОТКИ 
ВСЕСТОРОННЕ ВЫСОКОКАЧЕСТВЕННЫХ ПРОГРАММ; СКРОМНЫЕ СРЕДСТВА МИНИ-ЯЗЫКА
ПРЕДОСТАВЛЯЮТ НАМ БОЛЕЕ ЧЕМ ДОСТАТОЧНЫЙ ПРОСТОР ДЛЯ НЕТРИВИАЛЬНЫХ И В ТО 
ЖЕ ВРЕМЯ ВПОЛНЕ ПРИЕМЛЕМЫХ РАЗРАБОТОК.

мОЖНО ОБОЙТИСЬ ЭТИМ ОБЎЯСНЕНИЕМ, НО ОНО ВСЕ ЖЕ НЕ ЯВЛЯЕТСЯ ИСЧЕРПЫВАЮЩИМ. 
я ВСЕ РАВНО СЧИТАЛ СЕБЯ ОБЯЗАННЫМ ВВЕСТИ ПОВТОРЕНИЕ КАК САМОСТОЯТЕЛЬНУЮ
КОНСТРУКЦИЮ, ПОСКОЛЬКУ МНЕ ПРЕДСТАВЛЯЛОСЬ, ЧТО ЭТО СЛЕДОВАЛО СДЕЛАТЬ УЖЕ 
ДАВНО. кОГДА ЯЗЫКИ ПРОГРАММИРОВАНИЯ ЗАРОЖДАЛИСЬ, "ДИНАМИЧЕСКАЯ" ПРИРОДА 
ОПЕРАТОРА ПРИСВАИВАНИЯ КАЗАЛАСЬ НЕ ОЧЕНЬ ПРИСПОСОБЛЕННОЙ К "СТАТИЧЕСКОЙ" 
ПРИРОДЕ ТРАДИЦИОННОЙ МАТЕМАТИКИ.  иЗ-ЗА ОТСУТСТВИЯ СООТВЕТСТВУЮЩЕЙ ТЕОРИИ 
МАТЕМАТИКИ ОЩУЩАЛИ НЕКОТОРЫЕ ЗАТРУДНЕНИЯ, СВЯЗАННЫЕ С ЭТИМ ОПЕРАТОРОМ, 
А ПОСКОЛЬКУ ИМЕННО КОНСТРУКЦИЯ ПОВТОРЕНИЯ СОЗДАЕТ НЕОБХОДИМОСТЬ В 
ПРИСВАИВАНИЯХ ПЕРЕМЕННЫМ, МАТЕМАТИКИ ОЩУЩАЛИ ЗАТРУДНЕНИЯ И В СВЯЗИ С 
ПОВТОРЕНИЕМ. кОГДА БЫЛИ РАЗРАБОТАНЫ ЯЗЫКИ БЕЗ ПРИСВАИВАНИЯ И БЕЗ 
ПОВТОРЕНИЙ --- ТАКИЕ, КАК ЧИСТЫЙ лисп,--- МНОГИЕ ПОЧУВСТВОВАЛИ ЗНАЧИТЕЛЬНОЕ
ОБЛЕГЧЕНИЕ. оНИ СНОВА ОЩУТИЛИ ПОД НОГАМИ ЗНАКОМУЮ ПОЧВУ И УВИДЕЛИ ПРОБЛЕСК 
НАДЕЖДЫ ПРЕВРАТИТЬ ПРОГРАММИРОВАНИЕ В ЗАНЯТИЕ С ТВЕРДОЙ И СОЛИДНОЙ
МАТЕМАТИЧЕСКОЙ ОСНОВОЙ. (дО СЕГО ВРЕМЕНИ СРЕДИ СКЛОННЫХ К ТЕОРЕТИЗИРОВАНИЮ 
СПЕЦИАЛИСТОВ ПО МАШИННОЙ МАТЕМАТИКЕ ВСЕ ЕЩЕ ШИРОКО РАСПРОСТРАНЕНО МНЕНИЕ, 
ЧТО РЕКУРСИВНЫЕ ПРОГРАММЫ "БОЛЕЕ ЕСТЕСТВЕННЫ", ЧЕМ ПРОГРАММЫ С ПОВТОРЕНИЯМИ.)

дРУГОГО ВЫХОДА ИЗ ПОЛОЖЕНИЯ ПУТЕМ НАДЕЖНОГО И ДЕЙСТВЕННОГО МАТЕМАТЧЕСКОГО 
ОБОСНОВАНИЯ ПАРЫ ПОНЯТИЙ "ПОВТОРЕНИЕ" И  "ПРИСВАИВАНИЕ ПЕРЕМЕННОЙ"
НАМ ПРЕДСТОЯЛО ЖДАТЬ ЕЩЕ ДЕСЯТЬ ЛЕТ. а ВЫХОД, КАК ПОКАЗАНО В ЭТОЙ МОНОГРАФИИ, 
ЗАКЛЮЧАЛСЯ В ТОМ, ЧТО СЕМАНТИКУ КОНСТРУКЦИИ ПОВТОРЕНИЯ МОЖНО ОПИСАТЬ С
ПОМОЩЬЮ РЕКУРРЕНТНЫХ ОТНОШЕНИЙ МЕЖДУ ПРЕДИКАТАМИ, ТОГДА КАК ДЛЯ ОПИСАНИЯ 
СЕМАНТИКИ ОБЩЕЙ РЕКУРСИИ ТРЕБУЮТСЯ РЕКУРРЕНТНЫЕ ОТНОШЕНИЯ МЕЖДУ
ПРЕОБРАЗОВАТЕЛЯМИ ПРЕДИКАТОВ. оТСЮДА СОВЕРШЕННО ОЧЕВИДНО, ПОЧЕМУ  Я СЧИТАЮ 
ОБЩУЮ РЕКУРСИЮ НА ПОРЯДОК БОЛЕЕ СЛОЖНОЙ КОНСТРУКЦИЕЙ, ЧЕМ ПРОСТОЕ
ПОВТОРЕНИЕ; И ПОЭТОМУ МНЕ БОЛЬНО СМОТРЕТЬ, КАК СЕМАНТИКУ КОНСТРУКЦИИ 
ПОВТОРЕНИЯ
$$
"\kwd{while } B \kwd{ do } S"
$$
ОПРЕДЕЛЯЮТ  КАК СЕМАНТИКУ ОБРАЩЕНИЯ
$$
"whiledo(B,S)"
$$
К РЕКУРСИВНОЙ ПРОЦЕДУРЕ (ОПИСАННОЙ В СИНТАКСИСЕ ЯЗЫКА алгол 60):
{\obeylines
\kwd{procedure} \var{whiledo}(\var{УСЛОВИЕ}, \var{ОПЕРАТОР});
 \kwd{begin} \kwd{if} \var{УСЛОВИЕ} \kwd{then} \kwd{begin} \var{ОПЕРАТОР};
       whiledo(\var{УСЛОВИЕ},\var{ОПЕРАТОР}) \kwd{end}
\kwd{end}

}
нЕСМОТРЯ НА ФОРМАЛЬНУЮ ПРАВИЛЬНОСТЬ, ЭТО МНЕ НЕПРИЯТНО, ПОТОМУ, ЧТО Я НЕ 
ЛЮБЛЮ, КОГДА ИЗ ПУШКИ СТРЕЛЯЮТ ПО ВОРОБЬЯМ, ВНЕ ЗАВИСИМОСТИ ОТ ТОГО, НАСКОЛЬКО
ЭФФЕКТИВНО ПУШКА СПРАВЛЯЕТСЯ С ТАКОЙ РАБОТОЙ. дЛЯ ПОКОЛЕНИЯ ТЕОРЕТИКОВ 
МАШИННОЙ МАТЕМАТИКИ, КОТОРЫЕ ПОДКЛЮЧАЛИСЬ К ЭТОЙ ТЕМАТИКЕ В ТЕЧЕНИЕ
ШЕСТИДЕСЯТЫХ ГОДОВ, ПРИВЕДЕННОЕ ВЫШЕ РЕКУРСИВНОЕ ОПРЕДЕЛЕНИЕ ЧАСТО ЯВЛЯЕТСЯ 
НЕ ТОЛЬКО "ЕСТЕСТВЕННЫМ",  НО ДАЖЕ "САМЫМ ПРАВИЛЬНЫМ". оДНАКО ВВИДУ ТОГО, ЧТО 
БЕЗ ПОНЯТИЯ ПОВТОРЕНИЯ МЫ НЕ МОЖЕМ ДАЖЕ ОПИСАТЬ ПОВЕДЕНИЕ  МАШИНЫ тЬЮРИНГА,
ПРЕДСТАВЛЯЕТСЯ НЕОБХОДИМЫМ ПРОИЗВЕСТИ НЕКОТОРОЕ ВОССТАНОВЛЕНИЕ РАВНОВЕСИЯ.

пО ПОВОДУ ОТСУТСТВИЯ БИБЛИОГРАФИИ Я НЕ ПРЕДЛАГАЮ НИ ОБЎЯСНЕНИЙ, НИ ИЗВИНЕНИЙ.


{\sl бЛАГОДАРНОСТИ.} сЛЕДУЮЩИЕ ЛИЦА ОКАЗАЛИ НЕПОСРЕДСТВЕННОЕ ВЛИЯНИЕ НА 
РАЗРАБОТКУ ЭТОЙ КНИГИ, ЛИБО ПРИНЯВ УЧАСТИЕ В ОБСУЖДЕНИИ ЕЕ ПРЕДПОЛАГАЕМОГО 
СОДЕРЖАНИЯ, ЛИБО ВЫСКАЗАВ ЗАМЕЧАННЯ ОТНОСИТЕЛЬНО ГОТОВОЙ РУКОПИСИ ИЛИ ЕЕ
ЧАСТЕЙ: к.~бРОН, р.~бЕРСТАЛЛ, у.~фЕЙЕН, ч.~хОАР, д.~кНУТ, м.~рЕМ, 
дЖ.~рЕЙНОЛЬДС, д.~рОСС, к.~шОЛТЕН, г.~зИГМЮЛЛЕР, н.~вИРТ И м.~вУДЖЕР. 
я СЧИТАЮ ЧЕСТЬЮ ДЛЯ СЕБЯ ВОЗМОЖНОСТЬ ПУБЛИЧНО ВЫРАЗИТЬ ИМ МОЮ ПРИЗНАТЕЛЬНОСТЬ 
ЗА СОТРУДНИЧЕСТВО. кРОМЕ ТОГО, Я ВЕСЬМА ОБЯЗАН КОРПОРАЦИИ Burroughs,
СОЗДАВШЕЙ МНЕ БЛАГОПРИЯТНЫЕ УСЛОВИЯ И ПРЕДОСТАВИВШЕЙ  НЕОБХОДИМЫЕ СРЕДСТВА, 
И БЛАГОДАРЕН МОЕЙ ЖЕНЕ ЗА НЕИЗМЕННУЮ ПОДДЕРЖКУ И ОДОБРЕНИЕ.

\rightline{э. в. дЕЙКСТРА}
\leftline{нЕЙЕН }
\leftline{нИДЕРЛАНДЫ}
\bye
