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