Любопытно, что в мире «Подлинных имен» сами проекции действительно перемещаются, так как симулирующие их программы перекидываются в разные точки всемирной компьютерной сети. И тем не менее для обитателей сети все это несущественно и неощутимо, поскольку физическое местоположение самих компьютеров никак не отображается внутри моделируемых ими пространств. Только ближе к концу новеллы для защиты от их автоматизированного врага этим полувиртуальным существам приходится отслеживать расположение их основных компьютеров, и тогда они прибегают к обычным средствам вроде военной навигации и географических карт.
Интересно, что то же самое происходит и внутри обычного мозга. Ведь и ему невдомек, где он находится. Разумеется, большинство современных образованных людей знают, что мысли возникают в голове – однако сам мозг, если ему не сообщить, об этом не знает. Вообще, не будь образования, человеческий мозг не имел бы ни малейшего понятия о существовании такого органа, как мозг. Мы полагаем, что мысли располагаются где-то сразу за лицом – местом многих органов чувств. Хотя даже это представление не всегда верно: визуальные мозговые центры, например, расположены далеко от глаз на затылке, где без подсказки ни один мозг не додумался бы их искать.
Словом, символьные обозначения в «Подлинных именах» и не должны отражать правду – то есть правдиво описывать устройство и действие какого-то объекта или программы. Символы существуют не для этого. Задача символа – обозначить, как использовать объект или программу. А поскольку понятие «пользы» всегда определяется пользователем, причем независимо от описываемого объекта, то форма и вид символа должны соответствовать накопленным ранее представлениям самого пользователя. Иначе говоря, они должны быть связаны с теми умственными процессами, которые наиболее точно и образно выражают его намерения. Именно поэтому Роджер проецирует свою надзирательницу так, как его сознание привыкло воспринимать жабу.
Такой принцип подбора символов, выражающих назначение предметов – точнее, намерения пользователей по отношению к ним, – уже стал второй натурой для разработчиков самых первых компьютерных систем быстрого взаимодействия, а именно: ранних компьютерных игр – прообразов Иного Плана, где разворачивается основное действие новеллы. В семидесятых годах идея наглядных иконок принадлежала исследовательской группе Алана Кэя в Xerox, но лишь в начале восьмидесятых годов благодаря дальнейшим разработкам команды Стивена Джобса в Apple Computer идея воплотилась в компьютере Macintosh, став неотъемлемой частью компьютерной революции.
Примерно в то же время появились менее известные попытки представить в виде иконок не то, для чего программы нужны, а то, как они работают. Такой подход мог бы значительно облегчить программистам разработку новых программ на основе существующих. Попытки в целом оказались менее успешными, возможно, из-за необходимости слишком углубляться в недра работы программ. Однако эти проходящие трудности не помешали видению Винджа, для которого очевидно, что современные формальные, негибкие и невыразительные языки – лишь ранний этап развития высокоуровневого программирования в будущем.
Дни программирования в его нынешнем виде, безусловно, сочтены. Нам недолго осталось составлять громадные вычислительные системы путем скрупулезных и в то же время концептуально убогих процессуальных спецификаций. Вскоре мы начнем выражать свои намерения относительно желаемых результатов в терминах, жестах или на примерах как минимум таких же выразительных, какими мы привыкли сообщать свои обычные повседневные желания или убеждения. Такие выражения будут поступать на вход огромных, умных, понимающих намерения программ, которые самостоятельно напишут необходимые операционные коды. Нам больше не потребуется понимать малейшие нюансы работы компьютера. Все это достанется тем продвинутым утилитам, на которые будет возложена трудоемкая задача применения однажды заложенных в них знаний об искусстве низкоуровневого программирования.
Как только мы найдем более удобные способы сообщать компьютерам о том, чего от них хотим, мы спокойно вернемся в привычный мир выражения наших потребностей и желаний. Ведь по большому счету пользователя заботит не то, как работает программа, а лишь то, что она делает – в смысле понятных ему воздействий на интересующий его объект.
Однако, чтобы это произошло, необходимо изобрести и освоить новые технологии для выражения намерений. Для этого нам придется отказаться от старых, пусть и развивающихся языков программирования, годящихся исключительно для описания процессов. Задача может оказаться сложнее, чем представляется. Нетрудно решить, что наша задача – лишь описать конечный результат с помощью более привычных средств выражения, но это решение сопряжено с серьезными рисками.