В завершение процесса человек, может быть даже не музыкант, создаст петлю звука, которая станет, по сути, его собственной музыкальной композицией и будет изменяться все больше и больше, становясь все более индивидуальной, чем обычно выходит у новоиспеченных композиторов, научившихся пользоваться программами наподобие Garage Band. Но создание такой композиции никогда не будет процессом изобретения, только выбора, хотя спорить по поводу отличий одного от другого можно долго.
Этот подход можно осуществить и в графическом дизайне, когда человек зацепляет небольшие смерчи, исходящие из шумного и ветреного виртуального мира, уплотняя их, пока не получится скульптура. Это будет похоже на активную версию старого теста Роршаха; но это будет опыт, который начинается с каракулей.
Так можно ли приведенную здесь стратегию применить к программированию в целом? У меня так и не получилось убедительно это продемонстрировать, но я до сих пор надеюсь, что это возможно. Основная проблема заключается в том, что потребуется время на наблюдение за поведением и программами, описывающими поведение.
Для вдохновения на создание внешнего вида пользовательских интерфейсов я долгое время наблюдал за музыкальными инструментами. Если рассматривать технологию как разновидность самовыражения, то нет даже никаких сомнений в том, что музыкальные инструменты – самая продвинутая из когда-либо существовавших технологий, хотя на сегодняшний день этот комплимент применим лишь к нецифровым инструментам.
Меня всегда поражает, что люди могут играть джазовые импровизации. Импровизация подразумевает решение весьма глубоких проблем, постоянно продолжающееся в режиме реального времени. Программирование будущего будет очень похожим на джаз.
Именно поэтому я потратил столько усилий на такие конструкции, как виртуальные саксофоны. Их звук даже близко не сравнится со звуком реального саксофона, по крайней мере пока, и точно не сравнится со звуком по-настоящему хорошего саксофона.
Некоторые воображаемые проблемы, которые предстоит решать будущим импровизаторам фенотропного программирования, не похожи на те, с которыми ежедневно сталкиваются современные джазовые саксофонисты. Если вам приходится наблюдать за миллионом вариаций поведения, например в процессе того, как инопланетная летающая черепаха парит вокруг вашей головы, возможно, на наблюдение с целью выбора лучшего варианта уйдут годы.
Предположим, вы увидели сотни и даже тысячи примеров черепах, каждый из них отчетливо демонстрирует облако поведения черепах, в котором вам нужно выбрать варианты поведения во время шторма, которые кажутся самыми выделяющимися. Возможно, для синхронизации с движениями черепахи, которые вы хотите особо выделить, вам придется сыграть на каком-либо инструменте, например виртуальном саксофоне.
С точки зрения фенотропного программирования нам нужно научиться разрабатывать «редакторы», которые будут представлять то, что умеет делать программа, удобным и целесообразным образом. Вот увидите, люди потратят столетия на решение этой проблемы[160]
.Традиционно мы работаем с очень большими количествами конкретных вероятностей, задействуя абстракции. Остается открытым вопрос, существует ли более гибкая форма конкретного выражения, которая может стать практической альтернативой абстракции. Ее можно представить лишь в пользовательских интерфейсах, не похожих на те, которые мы знаем сейчас, возможно, в будущих версиях виртуальной реальности.
Камни заполняют Платонову пещеру
Компьютерную науку можно рассматривать как ветвь инженерного проектирования или искусства, как ремесло и даже как собственно науку. Она объединяет в себе все это, но, на мой взгляд, это больше прикладная философия, или, выражаясь еще точнее, экспериментальная философия.
Специалисты в области информатики высказывают свои идеи о смысле жизни и тех практиках, благодаря которым жизнь становится лучше, а также реализуют их как схемы, которые послужат руководством для реальных людей в их реальной жизни. Обычно мы идеалисты. Поскольку идеалы никогда не удается воплотить в реальность целиком, история компьютерной науки – это своего рода бульвар разбитых надежд.
Я в полной мере понимаю, что фенотропное программирование так и не получит широкой огласки, что может быть слишком поздно. Даже если будет проведено масштабное исследование фенотропного программирования, не исключены проблемы, которые я не мог предвидеть. Ничто не совершенно.