Глубина в небе (сборник) (перевод К. Фалькова)
Шрифт:
— Но… это же неправда. Я играю с машинами. Когда ставлю высокий уровень, ни за что не выиграть.
— Это потому, что компьютеры умеют делать простые вещи очень быстро. Вот поэтому они так важны. Они содержат тысячелетний багаж программного обеспечения и большую часть его способны выполнить. В каком-то смысле они помнят каждый хитрый фокус, изобретенный Человечеством.
Брет Тринли фыркнул:
— И любую белиберду.
Сура пожала плечами:
— Конечно. Взгляни. Сколько у нас экипажа, когда мы в системе и все на вахте?
— Тысяча двадцать три человека, — сказал Фам. К этому моменту он уже давно выучил все технические параметры «Репризы» и все, что касалось путешествия.
— Хорошо. Теперь представь, что ты в
Тринли:
— Чего там представлять, это чистая правда.
— …и что-нибудь портится. Чтобы построить корабль, нужен труд, вероятно, десяти тысяч разных специалистов, причем они вынуждены опираться на колоссальный базис тяжелой промышленности. Не может экипаж знать всего, что нужно для анализа звездных спектров, для разработки вакцины на случай неожиданностей в бактериальной яме или какой-то болезни обмена…
— Да! — воскликнул Фам. — Вот для чего нам нужны программы и компьютеры.
— Поэтому без них нам не выжить. За тысячи лет машинная память заполнилась программами, которые могут нам помочь. Но, как говорит Брет, многие из них — полная белиберда, все не без багов, и лишь интерфейсы верхнего уровня точно приспособлены под наши нужды. — Она сделала паузу и со значением глянула на Фама. — Нужен умный и высокопрофессиональный человек, который бы определял, что из этого представляет ценность, выбирал и модифицировал нужные программы, а затем правильно интерпретировал результаты.
Фам мгновение молчал, вспоминая все те случаи, когда машины делали не то, что он от них требовал. Не всегда по вине Фама. Программы автоперевода с канберранского на незейский работали ужасно.
— Значит… вы хотите, чтобы я написал программы получше.
Сура улыбнулась, а Брет с трудом удержался от ухмылки.
— Нас устроит, если ты станешь хорошим программистом и научишься использовать уже доступное обеспечение.
Фам Нювен годы истратил, обучаясь программировать и исследовать. Программирование восходило к началу времен. Оно немного напоминало навозную кучу за отцовским замком. Когда ее размыло ручьем на десять метров в глубину, там обнажились проржавевшие корпуса машин — как говорили крестьяне, летающих машин, еще с тех славных дней колонизации Канберры. Навозная куча за отцовским замком могла показаться чистой и благовонной по сравнению с тем, что громоздилось в локальной сети «Репризы». Были там программы, написанные пять с лишним тысяч лет назад, когда человечество еще не покинуло Землю. И самое удивительное (самое ужасное, по мнению Суры) было в том, что, в отличие от бесполезных обломков канберранского прошлого, эти программы все еще работали! Через миллион миллионов перекрестных нитей многие древние программы в недрах систем Чжэн Хэ продолжали работать. Взять хотя бы систему времяисчисления, принятую у торговцев. Астрономические поправки вносились неимоверно сложным образом, но глубоко внизу, на дне этой махины, маленькая программа гоняла счетчик. Секунду за секундой Чжэн Хэ отсчитывала время с момента, когда нога человека впервые ступила на луну Старой Земли. Но если присмотреться еще внимательней, оказывалось, что исходный момент еще на сотню миллионов секунд позже: то была нулевая секунда одной из первых компьютерных операционных систем Человечества.
Под интерфейсами верхнего уровня скрывались слои унаследованного кода. Какая-то часть этих программ проектировалась в расчете на совершенно иные ситуации. Очень часто несоответствия приводили к роковым несчастным случаям. Что бы там ни болтали про романтику космических полетов, а чаще всего такие катастрофы вызывались случайными сбоями: древние заброшенные программы брали реванш.
— Надо это все переписать, — сказал Фам.
— Это уже сделано, — ответила Сура, не глядя на него. Она готовилась сдать вахту и последние четыре дня ковырялась в автоматике капсул, пытаясь локализовать возникшую проблему.
— Это пытались сделать, — уточнил Брет, вылезая из морозильника. —
Сура на миг отвлеклась от дебаггинга.
— Для этой ситуации есть специальный термин: «зрелая среда программирования». В общем, когда производительность аппаратного обеспечения выходит на предел, а программисты пишут код уже столетиями, достигается момент, когда значимого кода больше, чем кто бы то ни было способен осмыслить. Лучшее, что можно сделать в этой ситуации, — изучить общую иерархическую структуру и понять, как найти нужные инструменты, когда они понадобятся. Вот возьмем нашу текущую проблему. — Она указала на диаграмму зависимостей, с которой работала. — У нас нехватка хладагента для гробов. Как и миллиона других товаров, на старой доброй Канберре его было не купить. Ну, очевидное решение — переместить гробы на корму, пускай себе охлаждаются прямым теплоизлучением. У нас для этого нет подходящего оборудования — поэтому не так давно я сама занялась археологией. Такое впечатление, что лет пятьсот назад сходное происшествие имело место во время внутрисистемной войны на Торме. Они тогда сбацали пакет температурного контроля: такой-то нам и нужен.
— Почти такой. — Брет снова усмехнулся. — С незначительными изменениями.
— Да, и я почти закончила их вносить. — Она покосилась на Фама, заметив выражение его лица. — Ага! Я-то думала, ты скорей умрешь, чем в гроб ляжешь.
Фам застенчиво улыбнулся, вспомнив себя мальчишкой шестилетней давности:
— Нет, я однажды в него лягу. Когда-нибудь.
Этот день настал еще через пять лет жизни Фама. Годы эти пролетели в хлопотах. Брет и Сура ушли с вахты, а Фам так и не сблизился с теми, кто их заменял. Те четверо играли на музыкальных инструментах — вручную, как менестрели при дворе! Они этим килосекунды напролет могли заниматься, и создавалось впечатление, что в игре они достигают какого-то духовного или социального единства. Фама музыка не слишком трогала, но эти люди очень тяжело работали во имя самых обычных результатов. У Фама не хватило бы терпения даже начать движение по этому пути. Он смылся. Одиночеству он был обучен в совершенстве. Оставалось выучить еще очень много всего.
Чем дальше, тем больше он узнавал о том, что имела в виду Сура Винь, говоря про зрелые среды программирования. По сравнению с другими членами экипажа Фама можно было уже считать великолепным программистом. «Пламенный гений» — так однажды охарактеризовала его Сура, думая, что он не слышит. Он мог написать любой код — но жизнь коротка, а самые важные программные системы огромны. Поэтому Фам научился хакингу этих древних левиафанов. Он умел обращаться к интерфейсам оружейных программ Элдрича Фэйри через пропатченные конические планировщики времен, предшествующих завоеванию космоса. И, что не менее важно, он узнал, как и где искать потенциально пригодные приложения в корабельной сети.
…И он научился тому, что Сура, говоря о зрелых средах программирования, никогда не озвучивала. Когда системы зависят от систем предыдущего уровня, а те — от еще более древних… становится невозможно изучить работу всех систем в совершенстве. Глубоко в недрах интерфейсов флотской автоматики могли — должны были! — таиться ловушки. Большинство авторов уже тысячи лет как мертвы, а скрытые пути доступа, вероятно, утрачены навеки. Другие ловушки расставлены корпорациями или правительствами, надеявшимися переправиться через пропасть времени. Сура, Брет и, может, еще несколько человек о системах «Репризы» знали кое-что, наделявшее их особой властью.