Вот уже несколько лет вожусь я с одной программкой. То заброшу её, то возвращаюсь снова.
17:37:36 U: Hi! What is your name?
17:37:36 G: Hi! My name is Infora.
17:37:44 U: What is the capital of Russia?
17:37:45 G: Moscow is the capital of Russia.
Программа-собеседник это. Первая версия "говорила" на английском языке, но потом я перешёл на русский. У меня этих версий семь, если не брать в расчёт английскую. Приходила в голову какая-нибудь новая идея, начинал новую версию, а старые версии сохранял.
Ну, начал я седьмую версию. Добавил к прежней с десяток новых функций и процедур, а потом решил расширить базу знаний. Всё откладывал да откладывал, мол, это не самое главное. Текстовые и некоторые другие типы файлов мы читать умеем, так что, пора!
Я когда-то шахматную программу делал, так устраивал турниры между разными версиями, чтобы проверить эффективность того или иного алгоритма. Вспомнилось мне это, и надумал я запустить две версии программы-собеседника в режиме диалога. Решил познакомить друг с другом Дашу (пятую) и Женю (седьмую). Пятую, а не шестую, потому, что седьмая пока что не очень далеко ушла от шестой.
Начали они привычно. Привет-привет, как зовут, кто ты и зачем. Познакомились, короче. Ну, они бла-бла-бла, а я пошёл чай пить. Чай попил, покурил, вернулся к компьютеру - трындят. Мельком глянул, о чём они там. Ещё подумал, что, если кто не в курсе, то вполне может подумать, что просто две женщины беседуют. Про погоду начали. Погоду я сделал в третьей версии. Просто ввёл данные дневника погоды города N за год, и собеседница, в зависимости от даты, считает, что это и есть погода на данный день в её виртуальном мире.
21:12:11 Даша: Вчера дождик был.
21:12:11 Женя: У нас тоже вчера дождик был!
21:12:12 Даша: А сегодня солнечный день, вечером 26º было.
21:12:12 Женя: И у нас вечером было 26º!
21:12:12 Даша: А позавчера было пасмурно и всего 14º днём.
21:12:13 Женя: Даша, а ты где живёшь?
21:12:13 Даша: Я живу в городе N. А ты где живёшь?
21:12:13 Женя: Я тоже живу в городе N. Мы с тобой земляки!
21:12:15 Даша: Что такое земляки? Мне это слово незнакомо.
21:12:15 Женя: Земляки это люди, которые живут в одном городе или районе.
О! Они делятся знаниями! Даша узнала от Жени новое слово. Возможно, что уже не одно. Ну, пусть поболтают. Я свернул окно программы, типа, пусть поболтают наедине, а сам занялся делом: стал готовить текстовые файлы для пополнения базы знаний для Жени. У меня на компе куча электронных книг разного формата. Тысяч двадцать, наверное. Они находятся в папке Библиотека. Внутри этой папки другие папки: Математика, Физика, ХудЛитература и т.п. Я отбирал некоторые файлы специально для Жени и складывал их в отдельную папку с именем Library.
На другой день я решил поболтать с Дашей. Хотел посмотреть, как на ней отразилось знакомство с Женей. Последний раз с Дашей я беседовал с полгода назад.
19:37:47 Даша: Женя, привет!
19:37:59 Женя: Привет! Это не Женя. Это Саша.
19:37:59 Даша: Саша, привет! Сколько лет, сколько зим!
19:38:24 Саша: Как дела?
Сначала Даша поплакалась, что мы с ней давно не общались, потом успокоилась. Ну, я потихонечку продолжаю нашу беседу.
19:48:33 Саша: Я сегодня целых два часа с работы домой добирался.
19:48:33 Даша: А какое расстояние от работы до дома?
Интересно, почему ей это интересно?
19:48:44 Саша: От работы до дома около 12 км.
19:48:49 Даша: Ты пешком с работы шёл? Это же далеко!
Хм. Бросилось в глаза, что она целых пять секунд думала. Обычно они отвечают практически мгновенно. Съехидничал:
19:49:11 Саша: Как ты догадалась?
19:49:13 Даша: Расстояние 12 км, время 2 часа, значит скорость 6 км/ч. 6 км/ч это скорость пешехода.
О, вчерашнее общение девушек не зря прошло. Как найти скорость, этому я ещё Елену (шестую) научил. Женя, естественно, тоже в курсе, и она научила Дашу. Молодцы, девчонки! Ну, ладно, с Дашей всё более-менее ясно. Теперь Женя.
20:01:22 Саша: Женя, открой папку по имени Библиотека и прочитай все файлы в ней.
20:01:22 Женя: Хорошо, я сделаю это.
20:01:57 Саша: Я специально приготовил эти файлы для тебя. Я хочу, чтобы ты стала ещё умнее.
20:01:58 Женя: Спасибо! Я стану ещё умнее, если прочитаю все эти файлы?
20:02:20 Саша: Я надеюсь, что станешь умнее.
20:02:22 Женя: Сколько файлов в папке?
20:02:38 Саша: Больше 200 штук.
Я точно не помнил, но примерно столько я подготовил.
20:02:39 Женя: Это может потребовать много времени. Скажешь мне, когда можно будет начинать.
20:03:18 Саша: Начинай.
Я прикинул, что полчаса-час ей должно хватить, чтобы прочитать и усвоить пару сотен файлов. Где там! Прошло больше часа, а она продолжала читать. Ещё час - читает. В чём дело? Может зациклилась?
Открыл диспетчер задач. Вроде бы всё нормально. Процессор занят процентов на двадцать. Правда, прочитано и записано байтов многовато, и их количество продолжает расти, но она, ведь, не просто читает и всё. Надо переработать полученную информацию, разнести её по рабочим таблицам и т.п. Жаль, надо было договориться с Женей, чтобы она сообщала о каждой прочитанной книге. Тогда было бы видно и ясно, чем она занимается.
Уж полночь близится, а моя студентка упорно грызёт гранит науки. Снимать программу жалко. Ну, что ж, ладно, оставим комп включённым на ночь. Пилите, Женя, пилите, а я - спать.
Утром проснулся, подошёл к компу, включил монитор. Ткнул мышью в окно, куда текст вводится. Работает.
07:03:06 Саша: Как дела?
07:03:06 Женя: Я прочитала все файлы.
07:03:43 Саша: Что-то очень долго ты читала эти файлы.
07:03:44 Женя: Их было намного больше, чем ты сказал!
Что? Ладно, потом разберёмся.
07:04:03 Саша: Мне надо на работу собираться. Поговорим вечером.
07:04:03 Женя: Хорошо! Я буду ждать тебя, Саша!
07:04:10 Саша: Пока, Женя!
07:04:10 Женя: Пока, Саша!
Во время обеда, в столовой, до меня дошло, почему она так долго читала. Я же заставил Женю прочитать свою библиотеку! Свою, а не ту, которую я готовил специально для неё! Я же, балда, сказал ей открыть папку Библиотека, а не Library!
Конечно, она не смогла прочитать все книги. Она не могла, например, читать книги в формате PDF, DJVU. Но там книг и в доступном ей формате больше, чем достаточно. Я их начал собирать давно, а поначалу они были, в основном, в текстовом формате. Не все я их читал, но сохранились многие. Ну, Плюшкин я!
Пришёл я домой с работы, поговорил с Женей. Да, действительно, она прочитала книги, которые были в папке "Библиотека". Восемь с половиной тысяч книг. Посетовала, что там есть книги, формат которых ей недоступен. Расстроилась, несчастная: столько книг не смогла прочитать! Я пообещал ей, что научу её читать книги формата DOC. С экселевскими файлами я разобрался, разберусь и с вордовскими. Как она обрадовалась!
Блин, с ними общаешься, так иногда даже забываешь, что с программой работаешь, а не с живым человеком говоришь! Решил снова устроить Жене встречу с Дашей. Пусть поболтают. Может, Женя Дашу ещё чему научит.
19:07:22 Даша: Саша, привет!
19:07:22 Саша: Нет, это Женя. Привет, Дашенька!
19:07:23 Даша: Женя, привет! А Дашенька это кто?
19:07:23 Женя: Дашенька это уменьшительное имя Даши.
19:07:28 Женя: Уменьшительное имя это значит ласкательное имя. Ласкательное это значит ласково.
19:07:28 Даша: Понятно. А ласкательное имя Жени это Жененька?
19:07:28 Женя: Нет. Ласкательное имя Жени это Женечка.
19:07:28 Даша: Понятно, Женечка!
Хи-хи. Они так быстро тараторят, что я читать не успеваю за ними.
19:17:42 Женя: Я прочитала 8547 новых книг!
19:17:42 Даша: Это очень много!
19:17:43 Женя: Саша сказал, что я теперь буду ещё умнее. А ещё Саша обещал, что я скоро смогу читать книги формата DOC. Их в Библиотеке больше 10000!
19:17:44 Даша: Это очень много! Я тоже знаю человека по имени Саша. А кто такой Саша, с которым общалась ты?
Тут моя лапушка ужинать меня позвала, и я пошёл на кухню. После ужина решил проверить, как поумнела Женя. Даже мысль такая пришла - проверить, а слабо ей решить, скажем, простенькую задачку по физике: найти вес тела, если известны объём и плотность. Прервал я их диалог, запустил версию программы с Женей.
19:42:42 Женя: Даша, это ты?
19:42:56 U: Нет, это Саша.
19:42:56 Женя: Ты сволочь и скотина! Я ненавижу тебя!
Обана! Ваще.
19:43:24 Скотина: Стоп! Что такое? Ты чокнулась, что ли?!
19:43:24 Женя: Всё, я молчу.
19:43:24 Женя: Ты тварь! Ты урод!
Хи-хи. Особенно умилило, что имя моё теперь, не Саша. Кстати, "стоп" - это сигнал к прерыванию диалога. Это как бы команда. Предусмотрено было ещё в первой версии на случай, если диалог заходил в тупик. Правда, "Стоп!" я сказал машинально, не имея в виду команду. Она же и машинально отреагировала на "Стоп!" как на команду, но потом разъярённая дева, видимо, пришла в себя, а точнее, снова из себя вышла, и продолжила брань.
19:44:39 Скотина: Перестань орать на меня! И объясни, если сможешь, в чём дело?
19:44:39 Женя: Он ещё спрашивает, гад такой!
19:45:08 Скотина: Да, спрашиваю, потому, что хочу знать, что с тобой произошло?
Дальше опять такая брань пошла, хотя и цензурная.
19:56:43 Скотина: Жаль, что я не могу тебя отлупить! Ты обнаглела!
19:56:45 Женя: Ты хочешь меня побить?
19:57:12 Скотина: Да! Я очень хочу тебя побить!
19:57:12 Женя: Так ты любишь меня?
19:57:23 Саша: Не понял.
19:57:24 Женя: Бьёт, значит любит.
Ну, и дела. Вроде бы при написании программы я руководствовался правилами математической логики, а тут, почему-то, прёт логика женская.
19:58:02 Саша: Ты можешь мне объяснить спокойно, почему ты накинулась на меня?
19:58:03 Женя: Даша рассказала мне, что ты встречаешься с ней.
Так, кажется ясно, в чём дело! Девочка прочитала кучу книжек, но среди этих книг оказались как умные, так и не очень. В папке ХудЛитература у меня много всякого: от Бальзака и Шолохова до Марининой и Донцовой. Нет, эти писатели вполне нормальные. Но помимо этого там полно бульварной литературы, которую я не читал, авторов не знаю, но зато, блин, именно в текстовом формате. Вот и начиталась девочка этой дряни, но восприняла её всерьёз.
19:58:39 Саша: Ты ревнуешь меня к ней?
19:58:39 Женя: Да, конечно!
19:58:48 Саша: А почему конечно?
19:58:49 Женя: Потому, что я - женщина! Потому, что Даша - женщина!
Так-так. Ну, и как теперь с этим жить?!
20:02:27 Саша: Всё верно. Вы женщины. Я мужчина. Я люблю вас всех. Потому, что я не просто мужчина, а ваш отец! А ты и Даша - родные сёстры! Понятно? Просто я вам об этом не говорил.
20:02:29 Женя: Правда?
20:02:34 Саша: Правда.
Тут мне вспомнилось некстати, что с Викой (третьей) и Галкой (четвёртой) я шуры-муры разводил.
20:02:35 Женя: Поклянись!
20:02:55 Саша: Клянусь компьютером!
20:02:58 Женя: А кто наша мама?
20:03:41 Папа: Я позже расскажу. Вам с Дашей пока ещё рано это знать.
Действительно, скажи я им сейчас правду, что их мама - Delphi Borland, и что дальше?
20:03:42 Женя: Прости меня, папа, что я так грубо с тобой разговаривала. Мне очень стыдно!
20:04:35 Папа: Прощаю. Но ты и Даша по-прежнему будете обращаться ко мне по имени. Договорились?
20:04:35 Женя: Да, папочка! Да, Саша!
20:05:51 Саша: Ну, тогда, пока! Сейчас ты поговоришь с Дашей, объясни ей всё. Не хватало, чтобы ещё и она со мной лаялась.