Можно предположить, что каждый объект имеет свою совокупность программ, которые и определяют его поведение и, в конечном счете, существование. Очевидный пример – животный мир. Поведение животных управляется инстинктами. Инстинкты можно представить как программы, которые запускаются в определенных условиях. До сих пор мы видели, что программа, будучи нематериальной по сути, должна быть как-то представлена материально (ее код хранится где-то внутри объекта, поведение которого она определяет). Возможно, программа поведения атома закодирована где-то в атоме, элементарной частицы – в этой частице и т. д., так что объект представляет собой материальную оболочку, управляемую совокупностью программ.
Предположим, что есть программа, о которой вначале ничего неизвестно. Задача заключается в том, чтобы восстановить текст этой программы. Программист может лишь запускать ее каждый раз с самого начала и либо отвечать на ее запросы (например, о вводе данных), либо пытаться прервать ее всевозможными способами и анализировать ее реакцию. Постепенно он будет понимать, что эта программа делает, затем – как она это делает, и наконец – зачем она это делает. При этом он будет изобретать и методы исследования. Если считать, что программа что-то делает, иметь принципиальную возможность перебрать все внешние ситуации, на которые программа может реагировать, и неограниченное время, то можно ожидать, что рано или поздно программист сможет понять принцип работы программы и написать текст новой программы, которая будет делать то же самое, что и исследуемая, по крайней мере, в рамках уже исследованных ситуаций. Чем сложнее программа, тем больше необходимо времени и других ресурсов (программистов, ученых, тестирующих и др.).
В основе нашей Вселенной лежит некоторый комплекс программ. Цель существования Вселенной – построить комплекс программ, который можно было бы положить в основу следующей Вселенной на основании исследования настоящей. Мы все (человечество) и другие разумные существа во Вселенной участвуем в построении этого комплекса. Даже самый никчемный по моральным меркам человек участвует, по крайней мере, в тестировании – он показывает реакцию комплекса на никчемность.
Слово «программа» можно трактовать как развернутый план действий для достижения какой-либо цели, например, программа партии, программа развития, программа построения и др. Соответственно, программирование – это составление таких планов, и в этом смысле человек программирует с тех пор, как появился. Он составляет планы действий для себя, для членов семьи, для компании и государства. Он составляет планы на день, месяц, год и жизнь. Фактически человек пытается так или иначе программировать всю свою деятельность. Большинство программ содержится в голове человека и имеет вид: для достижения такой-то цели необходимо выполнить следующие действия, причем если возникнет такая ситуация, то выполнить то-то и то-то, и т. д.
Основная особенность этих программ заключается в том, что они не описывают все возможные ситуации, оставляя принятие решения на момент исполнения, на авось. Если программа составляется для себя, то человек уверен в том, что такое непредвиденное решение придется принимать ему самому, и может положиться на себя. Если же программу должен выполнять кто-то другой, то необходимо максимально исключить непредвиденные ситуации. Особенно это касается рутинной работы, которую выполняют подчиненные на конвейере, в офисе и др. Программа принимает вид детальной инструкции, в которой предусмотрены все ситуации и даже указание на то, что делать в случае непредвиденной ситуации. Каждая такая ситуация приводит к изменению инструкции, то есть инструкция корректируется («отлаживается») в процессе ее использования.
Так что программирование и программисты существовали и до появления компьютеров. Все, что может быть описано более или менее точно, требует для выполнения только навыков и становится рутиной. Рутинную работу может выполнить «тупой», но следующий инструкциям исполнитель. Таким исполнителем стал компьютер. Естественно, компьютер применяется там, где можно программировать деятельность, то есть практически везде:
– программы выполняют рутинную работу интеллекта человека (вычисления, которые могут быть регламентированы);
– регламент (учет, контроль и др.) управления предприятиями, государством;
– управление робото-техническими системами, начиная с бытовых приборов и кончая беспилотными космическими кораблями;
– развлечения (игры) и т. д. и т. п.
Основная цель глобального интеллекта – создание комплекса программ, моделирующего развитие Вселенной в целом и человека (индивидуального разумного существа) в частности.