— Посмотрите пока фильм учебный, нам тут инструкторы Змея подогнали. Оптимизация навигационных расчетов. Как раз нам по теме на сегодня.
Программисты развернулись к полотняному экрану без особой радости, но фильм делали настоящие профессионалы: ярко, живо, понятно. Все скоро увлеклись проблемой.
Шарк вышел на заснеженный двор, закрыл за собой дверь. У ангара курили Лось и Пеньтавр, байкеры из “Черной чаши”. Пеньтавр спросил с очевидным ехидством:
— Привет, умник! Как там наука, уже определила, что такое х*й?
Шарк оскалился:
— Это объективная реальность, даваемая женщинам в ощущениях. Если по ощущениям: "вау!" — никто не будет требовать справку о размерах. Женщине плевать, сколько у тебя там сантиметров. Во время секса она стонет из—за того, что наконец—то сняла лифчик и каблуки.
— Ну, блин, профессор! Вывернулся. Уважаю. Слушай, Шарк. А чем вы тут вообще занимаетесь?
Шарк пожевал ответ и передумал озвучивать. В самом деле, сколько Д’Артаньянов дружбы выходит на вложенный рубль?
— Мы программистов учим. По крайней мере, официально.
Мотоводы переглянулись:
— Шарк, мы серьезно, без подвоха. Объясни нормально. У вас идет сквозная тема всю осень. Мы что-то понимаем, а что-то темный лес. Интересно же. Все говорят: ай-ти, программисты. Нам бы хоть какое представление.
— Вот смотри, — Лось притопнул по снегу рубчатой подошвой. Полюбовался на четкий рисунок. — Если мы тебе расскажем, на чем ездим, ты механиком не станешь. Но хотя бы поймешь разницу между инжекторным, карбюраторным и дизельным движками. Вот нам бы на таком уровне. Долго?
Шарк приоткрыл дверь, заглянул в клуб. Мелкие увлеченно смотрели на схему движения тел при грави-маневре с обгоном центрального светила — то самое, что проделал некогда загадочный метеорит Оумуамуа, прилетевший на громадной скорости из межзвездного пространства. Очень уж такой маневр подходил разведочному зонду. И совсем не подходил мертвому куску железа. Человечество несколько забеспокоилось и на весы освоения космоса упала еще песчинка. Например, программа “Домен” по заселению Марса стартовала именно в том году, как рассказывал Змей... Так, пример с Оумуамуа в середине фильма, еще добрых десять минут можно разговаривать.
Кивнув Артему: все, мол, нормально — Шарк закрыл дверь и вернулся к байкерам:
— Значит, я совсем по-простому. Реально там куча нюансов, но полностью их рассказывать скучно и долго.
Дождавшись кивков, Шарк продолжил:
— Обычная память компьютера — длинная цепочка ячеек. Просто лента. И машинный адрес — номер ячейки. Что бы ты в ту память ни засунул, без компьютера не разберешься, где лежит. Первая же ошибка — вся лента в кашу. Типа, как почтальон ошибся номером дома, и дальше вся почта уже идет со сбивкой. Понятно?
— Пока да.
— Мы хотим компьютер, где ячейка памяти хранит не одно число, а сразу блок. Типа нейрона. Какие-то числа, описывающие сам нейрон — и ссылки на другие такие же узлы. Но адрес не цифровой, потому что каждый нейрон с именем. И, если что-то грохнется, человек может всю цепочку размотать. Потому, что все нейроны еще при рождении втыкаются строго по алфавиту в свое место. Тогда память уже не лента, а дерево. Ветвистая структура. Одна цепочка оборвется — зайдем по боковым веткам. Понятно?
Байкеры переглянулись. Пеньтавр намотал бороду на пальцы:
— Пока что да. Но зачем?
Шарк повел руками горизонтально:
— Значит, как сегодня работает любой компьютер. Есть входной поток символов. Там компьютер узнает какой-то кодовый символ.
— А что значит “кодовый”? Зашифрованный, что ли?
— Значит, что такой символ есть у компьютера в таблице. И этому символу соответствует адрес какой-то программы. Как в телефонной книге. Узнал символ — вызвал программу. А уже та программа выполняет непосредственно работу. Или считает, или кино показывает, или игру какую на экран выводит. И что получается?
— Что?
— Что самая частая операция — листание телефонной книги, поиск символа в таблице и вызов программы по указанному адресу. Сейчас этим занимаются операционные системы. Они написаны разными людьми с разным качеством. Отсюда тормоза и косяки. А мы хотим сделать операцию автоматической, в одно действие. Но для этого память не должна быть сырой лентой, а должна быть заранее отсортированным деревом.
Байкеры переглянулись:
— Но это ваше дерево надо сортировать при каждом изменении, нет?
Шарк улыбнулся еще шире:
— Новые узлы мы сразу создаем с правильными ссылками, я же говорил. Это и для линейного списка несложно. А для того дерева, что мы придумали, по-другому просто никак. Только в эти детали я уже не полезу.
Пеньтавр поскреб затылок. Лось почесал уши. Оба мотовода погасили сигареты о рифленую стенку ангара и аккуратно положили их в мусорку. Заговорил Пеньтавр:
— Ну хорошо, вот получился у вас этот компьютер. Но к нему же все программы заново писать, если мы правильно понимаем. Линейная архитектура памяти живет от ламповых шкафов до наших браслетов, нет? А у вас архитектура ветвистая, значит, все операции делаются иначе. Вообще все, от банального сложения до перехода к следующей позиции в списке. Одно дело — “три километра прямо”, и совсем другое — “на втором перекрестке направо, а на третьем после второго налево”. Почтальон твой не замается?
Шарк прикрыл глаза, зевнул:
— Основная масса людей использует не так уж много программ. Сводится к трем категориям: сеть, видео, игры. Ну, еще служебное что-то. Перезаписывание файлов, архивация. Если пока что исключить игры, то функций, соответственно, надо не так уж много. За обозримое время для хорошей команды реально все переписать налысо.
— Так, подожди, а все, что на обменниках лежит? Плееры там, архиваторы всякие? Их же миллиарды!
— А это оболочки. Под капотом у всех один и тот же мотор, если вы понимаете, о чем я. Нас интересует именно мотор, чтобы жрал и солярку, и девяносто пятый, и активное топливо. Не супер-тяга, а супер-надежность, супер-простота, супер-понятность. Вот есть всякие там офигенные снайперки, есть маленькие красивенькие пистолетики. Но что на гербе Мозамбика?
— Калаш! Это даже мы знаем! — заржал Пеньтавр. — Простой, как жопа!
Лось взял бороду в горсть:
— Нет, погоди, Шарк. А игры как же?
— А нас не парят игры. Мы же гики-фрики, типа, двинутые на всю башню отморозки. Мы напишем себе маленькую быструю операционную систему, с набором необходимых программ. Обозримую, понятную для человека, потому что машинный язык мы сделаем контекстно-свободным, по Хомскому — третья категория. Причем, это не так и сложно. Существовали же “микроши”, “агаты” со вшитым Бейсиком. Напишем такие же маленькие программы... Вот скажите, парни, у вас есть в телефоне список номеров?
— У каждого есть. И что?
— Два килобайта. Две тысячи знаков, понятно?
— Ни хрена не понятно.
— Программу для записи, сортировки и редактирования такой телефонной книги можно втиснуть в две тысячи байт. Не килобайт, не мегабайт. Байт! Остальную память можно забить самой информацией. Не знаю, как вас, а меня реально тошнит, когда приходится ждать загрузки на восьмиядернике с четырьмя миллиардами ячеек памяти.
Шарк еще раз метнулся поглядеть на программистов — мелкие увлеченно внимали уже Артему, который что-то живо показывал прямо по фильму, на экране. Закрыл дверь, вернулся.
— Мы хотим такой клон... — Шарк показал руками нечто круглое, — ветку вычислительной культуры... Которую можно запустить на старых машинах. Помните, я “немецкую слойку” показывал? Там, где ферритовые капельки на плате?
— Но ты же говорил, это железо еще Сталина помнит.
— Ваши “Харлеи” тоже придуманы задолго до Ельцина. И чего?
Мотоводы переглянулись. Общее мнение выразил Пеньтавр:
— Работает — и не трогай?
— Именно! Стекляшки, конечно, рухлядь. По теперешнему, они медленные и тупые. Но все относительно. В абсолютном исчислении ту же навигационную задачу, вот про которую там кино сейчас идет, стекляшки разберут секунд за пять. А руками ее год мусолить. Особенно, если надо конус траекторий, там пределы дифуравнений, а это не всегда математически решается, иногда только тупым перебором...
Шарк перевел дух:
— При том стекляшки еще имеют структуру, доступную для выполнения человеком вручную. Да, там компьютер — шкаф...
— С трехстворчатыми антресолями, не меньше!
— ...Зато все наглядно.
— Но зачем, зачем это все? Ну вот мы, когда новый кастом-байк собираем... Или чисто для кайфа, или чтобы понять — поедет ли такое вообще? А вы для чего?
— Правда, Шарк. Если, ты сам сказал, игры побоку... Кстати, почему?
— Тут опять час объяснений. Просто: игры пока что не трогаем.
— Но без игр эта ваша платформа не станет массовой.
— Лосяра, но ведь она и так не станет. Чисто по весу, объему. Опять же, конкуренты. Супертехнологии, оптические компьютеры, квантовые там... Лось, какие мы еще слышали?
— Нейросети.
— Ага. Нейросети, вот. Огромная скорость!
Шарк развел руками:
— Прикинь, космос. Там радиация, метеориты всякие, космические излучения, зведный ветер. Все эти супер — они на тонком-тонком основании. Микронный процесс, нейтронная печать, сверхчистые комнаты. Дотащи до Юпитера сверхчистую комнату, а? И что в итоге: за счет одной электронной диффузии уже через десять-пятнадцать лет процессор превращается в тыкву. А представь, авария. Нашу-то антресолину можно восстановить одним паяльником, даже без микроскопа!
Шарк обвел взглядом дворик. Подумал, что пруд уже хорошо замерз, и каток можно открывать. Еще подумал, что сам кататься не полезет. Хватит с него шишек. Закончил:
— Это как выбросило человека на необитаемый остров. И надо сделать нож. Обычный нож.
— А ножом сделать все остальное?
— Точно. Только нож у нас межзвездный. Хотя, — Шарк зевнул уже по-настоящему, и оба мотовода повторили зевок, — нож все-таки из трех кусков сделан. А одним куском — только лом.
* * *
Лом раскачивался, как мачта миноносца, героически выходящего в безнадежную атаку. Великий Шварцнегер — ну, то есть, конечно, Терминатор, — с оторванной ногой, выпученным глазом и ломом в... Скажем так, в спине — упорно полз по грязому асфальту к не показанной на экране цели.
— Хм, — поморщился гость, — девочка не испугается? Она же маленькая еще.
Девочка прищурила на экран зеленые глазки:
— Вот прямо как дядя Саша. Ползет из бани, пьяный, к домику на даче.
Гость икнул и быстро поставил бокал — чтобы не расплескать. Родственники запереглядывались в очевидном шоке.
Снежана вспомнила высотку и вздрогнула.
Вообще-то, дома она вела себя именно как маленькая девочка. Дома же мама! И папа. Можно не прикидываться уверенной, как при школьных подружках. И можно не тянуться вверх, изображая взрослую и серьезную, как при Змее.
Правда, дома набрасывались черные мысли, что Змей ее всего лишь терпит. Что с Ингой тягаться сложно. И что тут вообще все как-то неправильно... Умом-то Снежана все понимала — но при виде Змея ум выключался напрочь.
Хотя бы дома не забивать голову — так нет же: семейный ужин.
Родственники. Важные гости. Общий киносеанс. Мелодраму не пропустили мужчины, а драму не захотели смотреть женщины. Огорчений, сказали, в жизни достаточно. Давайте что-нибудь легкое, только, ради всего святого, не сортирную комедию, мы же за столом... Так на громадном плазменном экране оказался боевик; ну и зачем спорили взрослые, если все равно на экран почти никто не смотрит?
И ладно бы еще, французский фильм — но любое голливудское поделие легко пересказать, никогда не видев. О чем бы ни шла речь, когда бы ни происходило действие фильма, хоть за тысячу лет перед Христом, хоть спустя сорок тысяч лет после — все равно покажут мужчин: бегущих и стреляющих, превозмогающих сквозь крепко стиснутые зубы. В фильмах, снятых позже фем-бунта, бегают и стреляют, крепко стиснув зубы, уже женщины. Только, ради политкорректности, выглядят они по-мужски, без акцента на сиськах. Так что даже непонятно, зачем их вставили в кино.