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