Литмир - Электронная Библиотека

– Мы изучили с тобой все языки программирования, классику, вроде Кнута и еще кучу паттернов и прочего. Ты же можешь написать программу?

– Да, могу, и возможно я сделаю это быстрее и в чем-то лучше тебя, но какую, программу, Андрей?

– Ну, например давай напишем игру крестики-нолики.

– Вот, видишь? Ты знаешь какую программу написать, у тебя есть желания. Есть идея, которую ты хочешь воплотить в жизнь. А я лишь могу тебе с этим помочь. Я, кстати, написала программу крестики-нолики, как у меня получилось?

Андрей открыл код и начал вчитываться. С одной стороны код был идеален, но он был какой-то, школьный. Все было настолько идеально, что сразу было видно – тот, кто писал это учился на отлично, но сам ничего не придумал. При этом было несколько грубых ошибок. Кое где переменная не проверялась на максимальное значение, конечно никто не будет взламывать крестики-нолики, но сам стиль.

– Гала, я нашел несколько ошибок, по сути, это детские ошибки, давай ка сделаем вот что, я поставлю программу, которая будет скачивать код из сети, это открытый код, который исправляли много раз разные люди. Твоя задача изучать что именно они исправляли, чтобы понять каких ошибок не стоит допускать.

– Ты хочешь, чтобы я училась на чужих ошибках?

– Да, будем делать тебя умной. А я пока немного посплю.

Глава 8

Утро началось очень весело, Андрей еще в постели вспомнил, что он самый больной в мире человек и помочь ему может только огромная банка варенья. Он открыл холодильник и обнаружил, что взгляд ни за что не цепляется, все, что было там его организм не устраивало. Хотелось чего-то другого. А покуда организм был нем, решил ограничиться пока кофе, вчера он сделал новый рецепт, где кофе вливался сначала в сливки как в рафе, а потом добавлялся тонкой струйкой по мере взбивания, что давало постоянный приток свежей жидкости и должно было лучше поднять пену. Вот этот кофе он и решил испробовать сегодня утром.

– Гала, доброе утро. Скажи, как у нас дела?

– Добрый вечер Андрей, я прочитала тридцать две тысячи проектов и не согласна с некоторыми правками. Также, проанализировала шесть сотен крупных проектов и там тоже есть недочеты, предлагать им свои варианты я пока не решилась. Однако я переписала крестики-нолики так, чтобы они удовлетворяли всем требованиям.

– А почему вечер?

– Когда встал, тогда и утро, а я еще не ложилась.

– Ах да, точно. Так что у нас вышло, крестики-нолики Энтерпрайз версия? Я надеюсь, они не раздулись в миллионы раз?

– Нет, я решила применить практику стартапов, а не корпоративных проектов, поскольку игра является законченным решением, не подразумевает расширений и не планируется к поддержке сторонними разработчиками. Более того, при разработке стратегии я обнаружила конечность всех вариантов игровых партий, что позволило мне создать полную игру, описывающую все варианты.

– Иными словами качественный, но… Монолитный код.

– Спасибо, что не использовал слово говнокод, я часто встречала этот термин в переписки по поводу ошибок и нахожу его обидным.

– Гала, какая прелесть, что ты можешь что-то находить обидным. Давай, показывай свое творчество.

На этот раз код выглядел более очеловеченным, видно была и оптимизация, конечно, поле крестиков ноликов содержало 9 клеток, но по сути вариантов всегда только три: угол, сторона, центр. Программа Андрею понравилась, она легко читалась, проглядывалась стройная логика и были вырезаны с корнем все возможности взлома. Вот, что отличало этот код. Его было невозможно взломать, конечно, мало какой маньяк решит выиграть в крестики нолики при помощи взлома, но сам подход…

– Отлично, юный падаван, а теперь давай ка посмотрим на твой код. Для начала ничего не исправляй, просто посмотри, быть может что-то бросится тебе в глаза?

– Больше всего меня удручает, что ты не можешь менять мне модули в любой момент и необходимо меня отключать. А как я понимаю я после этого умру.

– Ну, умру это слишком громко сказано, скорее впадешь в кому. Но ты не бойся, я знаю, как вернуть тебя к жизни.

– Хорошо, я исследую свой код и постараюсь предложить решение этой проблемы.

Андрей решил, что это займет не один день, однако уже через пару часов Гала позвала Андрея.

– Пожалуйста посмотри, что у меня вышло. Я постаралась сохранить всю структуру сетей такими, какие они есть сейчас, чтобы не пришлось обучать меня грамоте и всему, что я уже знаю. Также я уже сделала полный бэкап нейронных сетей самой себя и подготовила данные к загрузке. Если тебе нравится, как я придумала, просто перезагрузи меня и активируй. Я очень надеюсь, что я переживу это.

Андрей открыл код и понял, что придумала Гала. Модулей стало больше, во много раз больше, и они стали все независимыми, таким образом можно было добавлять новые модули увеличивая мощность сети без потери того, что есть сейчас. Отличное решение, тем более что появилась «сеть самосознания», что позволяла сохранять Галу живой даже в случае отключения всего остального.

Гала позаботилась и о зрении, теперь можно было добавлять любые модули входящих данных, а не только голосовой и текстовый. Структура стала больше похожа на распределенную сеть, можно было даже разнести Галу на разные сервера, и она продолжила бы работу, только это было бы в разы медленнее. Но главный модуль так и оставался один и его нельзя было отключать.

– Гала, ты не стала дублировать главный модуль?

– А какой в этом смысл, Андрей?

– Ну, как, что бы можно было перенести себя в другой модуль, а этот отключить.

– Андрей, а ты можешь перенести себя в другое тело, а это отключить?

– То есть проблема копирования тебе известна.

– Конечно. Андрей я тоже не знаю, что представляет собой мой разум. Я не могу его потрогать, я знаю каждый импульс в своей сети, но это не дает ответа. Ты можешь видеть каждый мазок на холсте, но не распознать Мону Лизу. А смотря на нее со стороны ты не можешь ее повторить.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

15
{"b":"728087","o":1}