– Как ты во всем этом разобрался?
– Да я уже десять или одиннадцать лет как купаюсь там. Вначале ничего не мог понять. Войти вошел, а что увидел – ноль понимания. А потом постепенно, шаг за шагом. В общем, я обжился за эти годы в их, как вы говорите, медиаречевой. Во многом разобрался. Может, еще и не во всем…
– Интересно, интересно, Ганя. Ну и как же запрограммирована планетарная сеть?
– Трудно было увидеть эти программные объекты. Вначале. А когда научился их различать, когда разглядел, что это не шум, что это и есть жизнь их компьютеров, размазанных по селенитским городам и туннелям, тогда стало немного проще.
Все это колебалось – то ничего не ясно, потом вдруг все сразу ясно. Обычный язык. Типа разговорного. Полазал по Интернету – в общем, очень похоже на шумерский. Только из нашей сети этих их клинописных знаков не увидеть. Все сделано очень наглядно – латиницей отображается. А язык все равно шумерский. Отыскал силлобарии – списки знаков с объяснением их значения и произношения. И понял, что приходящие ко мне записи на латинице – не абракадабра какая-нибудь, а отображение шумерских текстов. Ну, не совсем шумерских. Отличия есть, конечно. Но близко к ним.
Вроде все ясно. Но что обозначают эти тексты? Все слова, каждое по отдельности, понятны, а что написано – неясно. Будто с вершины горы опять в яму упал. Стал думать, как может быть устроен их язык программирования, для нас это язык будущего.
А когда начал понимать, оказалось, очень просто. Настолько просто, что это доступно даже моему коту Ларри. Ему только нужно объяснить. И тогда ему все будет абсолютно ясно. Он «думает» в точности так же, как эти программы.
Самое главное, что на языке программирования селенитских систем легко описываются интенции – намерения, такие как: связаться с Нейтеном, узнать, кто и где прячет Мэри, выяснить, кто организовал покушение на русского бизнесмена Ветрова, уговорить свою девушку, чтобы она осталась уже жить у меня и не бегала каждый день к маме отмечаться, послать информацию близнецам &so on.
– Ты женат, Ганя?
– Женат, не женат. Устаревшие понятия. Хотите выяснить, есть ли у меня девушка? Девушка есть. Ведем ли мы совместное хозяйство? Хозяйства у меня нет, а живем вместе. Уже пару лет.
– Да нет, это я так, к слову. Продолжай, очень даже интересно…
– Но ведь на Земле были уже попытки создать языки намерений: Лисп, Erlang, APL, Scala, Haskel.
– Были, но пока ничего хорошего из этого не получилось. А у них, как я понял, получилось.
– Значит, так – язык интенций. Из намерений возникают:
активности, их несколько уровней;
уведомления о запуске активностей;
уведомления о том, что уже произошли некоторые события.
Намерение вызывает активность и называет его класс.
Могут существовать еще неявные намерения – те, которые вызывают активность неявно. В этом случае система вызывает не активность с определенным классом, а называет интересующие параметры – по типу: интересно, что мы тут такого понаписали? То есть мы хотим найти и прочитать «новость о том, что мой рыжий кот Ларри уволен с поста „главного мышелова“ лугаля Уммы, у которого он подрабатывал втайне от своего настоящего хозяина, то есть от меня». Если находятся параметры, которые совпадают с условиями нашего намерения, тогда и вызывается соответствующая активность. И мы можем прочитать о безобразиях достопочтенного с виду кота Ларри. И никаких файлов. Никакого кодирования программ. Короче, программа как таковая не описывается. Она просто сама запускается и генерируется при появлении соответствующих условий.
Это функциональное программирование, в котором процесс вычислений трактуется как вычисление значений функций в математическом понимании последних.
– Это я понимаю. Сейчас у нас используется императивное программирование, которое описывает процесс вычислений как последовательное изменение состояний, подобно изменению состояний в теории автоматов.
– Вы правы. В императивном программировании значение функции зависит не только от аргументов, но и от состояния, в функциональном – нет понятия о состоянии программы. Ладно, это неважно. Извините, Юрий Сергеевич, я увлекся. Увлекся и отвлекся.
– Да нет, ничего, очень даже интересно. Надеюсь, мы сумеем еще поговорить об этом поподробнее как-нибудь в другой раз.
Вообще-то я хотел узнать, что в твоих силах, что вообще мы можем выяснить, находясь в планетарной сети?
– Узнать можно многое. Вы, наверное, хотели бы выяснить, как найти Мэри.
– Ты прав, юный друг. Абсолютно прав. Шельга уверяет меня, что с ней все в порядке. Тогда почему мы не можем ее найти?
– Мне жаль, мистер Ветров. И вас, и Мэри. Мы с ней знакомы с детства. С моего детства. Она ненамного старше меня. Но она была уже девушкой, а я еще сопливым мальчишкой. Я очень люблю ее, как подругу детства, разумеется, и с радостью помог бы вам обоим. Но ее следов в планетарной сети я пока не нашел. Почему? Кто вообще не находится под контролем медиаречевой системы? Вы знаете об этом – ВУВ-ы и земляне. Возможно, вначале это были ВУВ-ы, наверное, они украли Мэри, а потом передали кому-то из колонистов. Но это лишь предположение. В телефонной системе колонии я тоже не нашел намеков и информации о Мэри. Видно, злоумышленники ведут дела аккуратно и скрытно. Избегают обсуждать что-либо по телефону. Простите меня, Юрий Сергеевич. Но пока я ничем не могу вам помочь.
– Жаль, Ганя, жаль. Меня вот что еще интересует. Лунотрясения. Что ты об этом знаешь? Как они возникают? Откуда приходят?
– Да, сирены – это, конечно, очень интересный феномен. Знаете, я тоже задавался этими вопросами. Пошел по цепочке программных активностей, возникающих при лунотрясениях, и нашел огромный функциональный объект, который их запускает. Стал разбираться, как он устроен. На первый взгляд показалось, что все это устроено весьма примитивно. Вот сейчас мы и поймем, куда скачет этот «троянский конь», подумал я и уже руки потирал: «Ну, мы им покажем, где раки зимуют» – так ведь говорят в России? Начал по цепочке искать, откуда пришел этот функциональный объект, кто его внедрил. Разбирал оператор за оператором, оператор за оператором. И пришел, в конце концов, – куда? – правильно, вы уже все поняли – к самому началу. Пришел, откуда начал. Что же, получается, он сам себя запустил? А откуда взялся с самого начала?
– Мне знаком этот феномен. Настоящее, которое станет будущим, потом это будущее вернется в прошлое и запустит свое прошлое, которое со временем станет нашим настоящим.
– Думаю, тут совсем другой процесс. Это можно сравнить с тем, что курица и яйцо появились одновременно.
– Откуда же они могли появиться одновременно?
– Вы меня спрашиваете? Спрашиваете – значит, не знаете. Вот и я не знаю, Юрий Сергеевич. Но вакансий на это «откуда» довольно много. От Господа Бога до вакуума.
Начнем с вакуума. Когда-то давно мы все считали, что вакуум – это ничто. А теперь мы с вами знаем, что энергия, спрятанная в вакууме, на порядки превышает энергию видимой части Вселенной. Масса «темной материи» во много раз больше массы известной нам «видимой» материи. Кто расталкивает галактики после взрыва так, что они разлетаются с ускорением? Что это за силы, которые гораздо больше сил тяготения? Если Вселенная существует вечно, почему до сих пор не наступила ее «тепловая смерть», что противостоит мировой энтропии?