Книга На заре новой эры. Автобиография отца виртуальной реальности, страница 99. Автор книги Джарон Ланир

Разделитель для чтения книг в онлайн библиотеке

Онлайн книга «На заре новой эры. Автобиография отца виртуальной реальности»

Cтраница 99

Мне до сих пор больно думать об этом! Еще больнее наблюдать, как при возрождении виртуальной реальности ее разработка до сих пор ведется с использованием традиционных языков программирования на традиционных экранах. Это напоминает попытку выучить иностранный язык по книге, никогда не говоря с его носителями.

Наши редакторы на традиционных мониторах по внешнему виду немного напоминают MAX, средство визуального программирования, которое используется в наши дни для создания экспериментальной компьютерной музыки и анимации [151].

По крайней мере, мы заглянули в альтернативное будущее, которое, надеюсь, изучат более тщательно в последующие годы.

Масштаб

Масштабирование – основной импульс информатики. Это означает надежду специалистов в области информатики на то, что наша работа приобретет неограниченный простор и сложность.

Как получить все более и более масштабные фенотропные структуры? Фенотропный редактор преобразует машинные биты в пользовательский интерфейс таким образом, чтобы человек мог изменять биты. Но может ли один редактор вносить изменения в другой редактор? Можно ли получить целые башни редакторов, изменяющих редакторы, целые паутины из них, гигантские грибницы?

Разумеется, можно. Но в этом случае нужно ли придерживаться неких абстрактных принципов, которые обязан соблюдать каждый редактор, чтобы в него было возможно внести изменения с помощью других редакторов? Не помешает ли это достижению цели избежать обязательного использования тех или иных абстракций?

Невероятно, но нет! Фенотропному редактору не обязательно использовать одни и те же абстракции, чтобы им можно было управлять при помощи других редакторов.

Причина заключается в том, что каждый редактор – это пользовательский интерфейс, пригодный к использованию человеком. Таким образом, редакторы могут имитировать человека, чтобы вносить изменения в другие редакторы. Редактор может интерпретировать пользовательский интерфейс и использовать его на условиях этого интерфейса.

Например, редактор для низкоуровневого доступа к библиотеке математической обработки данных мог выглядеть как калькулятор. Можно было пользоваться им напрямую или через другой редактор, имитирующий взаимодействие системы с пользователем.

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

И для этого совершенно не нужна общая абстракция, которая бы диктовала, как одной программе нужно обращаться к другой. Вместо этого каждый редактор отвечает за то, как найти способ использования человекоориентированных пользовательских интерфейсов в других редакторах [152].

Может показаться, что это сомнительный и крайне неэффективный способ заставить одну часть программы взаимодействовать с другой ее частью, и это правда! Но только в отношении небольших программ.

В основе фенотропной гипотезы лежит утверждение, что при работе с крупномасштабными системами, программы которых огромны, фенотропный принцип становится намного эффективнее традиционного, который обязывает к оперированию абстракциями.

Можно представлять фенотропную систему как множество редакторов, в которых имитации людей выглядывают из-за каждого редактора. В паре наших старых проектов можно было заглянуть за фасад большой программы и увидеть все редакторы, на основе которых она работает, парящие в информационном пространстве, как защитные экраны в космической войне.

За каждым редактором находился анимированный персонаж, похожий на мультипликационного, стоявший в профиль, и его движения имитировали управление другими редакторами, которые в свою очередь поддерживали другие персонажи. И все это создавалось в эпоху, когда единственным практическим стилем была графика восьмибитных игр. Мы никогда не воплощали всю картину целиком, но были к этому весьма близки. Я бы и хотел показать вам изображение, но ни одно из них так и не сохранилось.

Этот вид сбоку был, конечно же, еще одним редактором.

Ничего особенного.

(Если вы уже прочитали раздел о том, что я думаю относительно искусственного интеллекта, то подумайте вот о чем: в отличие от искусственного интеллекта, когда имитация личности обращена к вам, в фенотропной системе все персонажи обращены в противоположную от вас сторону, к другим редакторам, но они находятся под вашим контролем. Очевидно, что это лишь инструменты, и они не равны вам. Алгоритмы те же, что и у искусственного интеллекта, но концепция другая.)

Мотивация

Существует множество причин поддерживать фенотропную гипотезу. Но прежде чем разбирать на винтики эффективность функционирования, рассмотрим удобство и простоту использования человеком.

Всегда проще написать новую программу, чем понять и изменить уже кем-то написанную, но, по крайней мере, если программа фенотропная, те ее части, которые вы обнаружите, заглянув за фасад, всегда будут пользовательскими интерфейсами, разработанными для людей. Потому что это все, что в них есть.

Фенотропная система будет стремиться состоять из компонентов подходящего размера для использования людьми, поскольку каждый редактор с самого начала разработан для людей. Это означает, что фенотропные системы стремятся к образованию из «более грубых блоков», чем прочие разновидности архитектуры.

Вместо бешеных миллионов мелких абстрактных функций организация крупномасштабной программы будет подразделяться на более крупные и отчетливые составные части, каждая из которых – сама по себе понятный пользовательский интерфейс. Формирование блоков обычно следует принципам практической пригодности для использования людьми, а не идеализированной схеме отдельного инженера, и будет сохранять тенденцию к тому, чтобы его было как можно проще понять и поддерживать.

В фенотропной системе должна существовать возможность наблюдать за анимированным персонажем, который стоит за каждым редактором, выполняющим свои функции, чтобы сложилось отчетливое понимание того, как работает вся система; но можно также и расположить самого себя на любом участке сети редакторов, чтобы действовать непосредственно внутри программы, экспериментировать.

Вход
Поиск по сайту
Ищем:
Календарь
Навигация