Один из тезисов современной теории познания звучит так: «Мы знаем что-то, если можем это запрограммировать». То есть, мы имеем право надеяться на успех, если способны запрограммировать процесс достижения этого успеха. Но программирование – это всего лишь описание алгоритма на языке и в терминах реализующей его системы. В обычной жизни реализующей системой являемся мы сами и наши команды. С языком тоже вроде бы все ясно – русский. С терминами сложнее. Музыканты и математики вряд ли поймут друг друга, если о своих проблемах будут говорить на языке профессиональных терминов.
Способов описания алгоритма много: устная речь, картинки, блок-схемы и специальные языки. Системой реализующей алгоритм могут быть: человек (для него нужна инструкция, четко и однозначно определяющая последовательность действий), животное (дрессировка – самое настоящее программирование), машина, способная хранить и исполнять введённую в неё программу (механический или релейный командоаппарат, револьверный станок и многое другое). Из этого следует, что термин «программирование» не связан только с ЭВМ. Жизнь постоянно заставляет нас составлять последовательности действий, определяющих процесс достижения цели, хотя не каждого природа (Бог) наделила талантом программиста. Но научиться может каждый. И отдадим должное программистам ЭВМ, именно они превратили программирование из искусства одиночек, в практику для всех.
Любая большая система состоит из более простых элементов. Все эти элементы связаны между собой по принципу «каждый с каждым». То есть работа каждого элемента оказывает существенное влияние на работу остальных. Все, кто сталкивался с эксплуатацией или обслуживанием больших систем знают эту истину. Как возникает сложность? Соединение двух элементов всегда требует наличия третьего. Кроме того, эти три элемента не должны конфликтовать между собой и с окружающей средой.
Обозначим сложность элемента единицей. Тогда система из двух элементов будет иметь сложность = 3, т. к. появилась связь межу двумя исходными, сложность системы из трех элементов = 6, из четырех = 10 и так далее. Есть ли из этой проблемы выход? Конечно, есть, но он требует и денег, и труда, и квалификации. И не только нанятых специалистов, но и собственных усилий.
Суть его проста – целое состоит из частей, каждая часть является неотъемлемой частью целого. Следовательно, проектируя часть, надо держать в памяти целое; проектируя целое, учитывать, что каждая его часть имеет самостоятельное значение. Примеры несистемного подхода – премия пожарникам за время нахождения в огне (быстро потушишь – останешься без премии); оплата врачу за вылеченных больных (а как жить, если все будут здоровы?); волюнтаристские решения типа осушения верховых болот (аккумуляторов воды), поворот вспять сибирских рек с катастрофическими изменениями климата и т. д. и т. п. Другими словами,