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