Моя обязанность — приглашать меню по вызову. А эти письма к вам — считаю своим долгом. Не забывайте о моём титуле.
С искренней любовью, барон фон Гамбургер.
Глава 2.
Миссия
Пройдя сквозь гиперссылку кот не спеша уселся перед королём. Занял достойную позу и посмотрел в два раза пристальнее обычного.
Есть очень важное задание, — рассказал кот. — Я буду смотреть на тебя, а ты должен помогать. ТЭЗЭ уже составлено, нужен взгляд специалиста.
ТЭЗЭ
Задача: достать Модель DNA со дна озера
Озеро: рядом
Модель DNA: на дне
Варианты решений: В воду я точно не полезу. Можно откачать воду из озера, но оно большое. Надо построить резервуар достаточного размера, чтобы хранить там откачанную воду, пока я сбегаю за моделью. Если не получится откачать, тогда есть инженерное решение — труба широкая и длинная. Чтобы от поверхности озера достала до самого дна. Ты ведь сможешь придумать ступеньки внутри трубы? Чтобы я смог спуститься — это легко, я ловкий. Сделай чертёж и найди кого-нибудь, кто изготавливает трубы. Мой размер ты видишь, надо такого диаметра, чтобы я пролез... и вылез вместе с моделью. Она побольше меня будет в два или в три раза. Я не знаю точно, поэтому сделай размер с запасом. Все расходы, разумеется, беру на себя. Только запланируй затраты наперёд, — если будет дороже, чем аренда подводной лодки, тогда нет смысла придумывать велосипед. У меня товарищ по хорошей цене может предложить батискаф. Я уже ходил на нём в море и умею управлять. Был бы сейчас такой, в вмиг бы задачу выполнил. Тебя обязательно взял бы с собой, чтобы показать удивительный подводный мир. Жаль, что товарищ далеко от озера живёт. В батискафе хватило бы места нам обоим, даже с моделью. Кстати! Можем именно так отпразновать после выполнения миссии. Достанем модель дна и отправимся на дно :) Креативный план!
Сроки: желательно до четверга, плюс-минус пятница
Почему ты дёргаешься?, — спросил кот.
Король на самом деле подёргивался от смеха, читая описание задачи. После вопроса он прекратил и извинился.
Прошу прощения, меня повеселило слово тэзэ, — объяснил король. — Очень смешно звучит, словно муха назойливая жужжит в поисках выхода. И всё в целом тоже очень смешно. Что ты от меня хочешь?
ТЗ — это сокращение от Технического Задания. В нём описывают что должно быть сделано. Почитай тэзэ и назови точные сроки в часах. После обсуждения подпишем контракт на миссию, с меня благодарность и всё остальное.
Король Апп по отдельности понимал каждое слово из сказанного, но целая картина ситуации не складывалась в голове.
Кот был настроен решительно и продолжал смотреть.
Я всё ещё смотрю на тебя, а ты ничем не помогаешь, — настаивал кот.
Смотреть на меня, это изощрённая пытка или награда? — спросил король.
Это эффективный метод. Я поделюсь формулой успеха для достижения цели — всегда смотреть прямо в цель. Вот конкретный пример: в начале XXI века, жил Никита Апофеоз — известный радиоведущий и блогер. Я лично у него под окнами каждый день сидел и смотрел, чтобы он меня сфотографировал и в блог выложил. В блоге появилась куча комментариев, одни спрашивали почему кот смотрит, другие придумывали варианты ответов. Самые разные, вплоть до идей заговора и инопланетного вторжения. И никто не мог догадаться, что я просто смотрю. Только я об этом знал. Позвал даже других котов на следующий день, чтобы вместе смотреть. Это была абсолютная победа!
Так ты поможешь мне с моделью?, — спросил кот.Пойдём посмотрим, — согласился король. — Только, прошу, перестань разговаривать длинными параграфами — неудобно читать.
Король и кот вместе спустились к берегу большого озера.
Спасение модели DNA
Берег у озера заканчивался обрывом высотой в несколько метров. Кот подбежал к самому краю, начал показывать и рассказывать.
Вода чистая, можно увидеть где лежит модель. Как думаешь, если через трубу...
Король Апп посмотрел на дно озера и немедленно прыгнул в воду с криком «Это же ребёнок!». Вытащил и положил на лужайку девочку, она не двигалась и её глаза были закрыты.
Кот посмотрел:
Это была светловолосая девочка в летнем платье и длинных перчатках. Из под платья выглядывали босые ноги, а обеими руками девочка крепко прижимала тапочки к груди. Казалось, что модель DNA крепко спит и собирается спать до обеда.
Если до обеда, значит для спасения требуется немедленно приступить к приготовлению еды. Король Апп стал собирать ветки для костра, и спросил кота о девочке:
Зачем она тебе нужна?
Хочу, чтобы была моей служанкой. Чтобы всю жизнь кормила и убирала.
Кот тщательно обнюхал своё приобретение. Девочка лежала без движения, крепко сжимая тапочки. Кот аккуратно потрогал лапой мокрые волосы, затем повернулся и сел девочке на лицо — каждый кот знает как разбудить человека, даже браузер.
Девочка проснулась и сориентировалась очень быстро, примерно через 250 милисекунд, — четверть секунды, это приемлимое время ожидания реакции на нажатие, — кот попал в объятия девочки вместо тапочек.
Сама же девочка радостно закричала: Какой милый котик!
Теперь я буду твоей хозяйкой! Буду всю жизнь кормить и обнимать.
Кот весь напрягся от поворота событий. Но, — поскольку, девочка не выпускала и не переставала гладить, — кот смирился и громко замурлыкал.
Как тебя зовут?, — спросила девочка.Меня зовут Берppгамот. Я не котик, я брppаузер.
Король Апп тоже представился и спросил, всё ли в порядке у девочки? И хорошо ли она себя чувствует?
Девочка отпустила кота и подумала. У неё ничего не болит. И ей никуда не надо в спешке собираться. Всё кажется в порядке, но нет восторга.
Подошла к озеру, чтобы посмотреть на отражение в воде. Долго причесывала непослушные волосы руками.
Нет, со мной не всё в порядке. Мои волосы не слушаются, ведут себя, словно не я тут главная.
Король Апп снял с головы золотую корону и отломал кусочек металла. Согнул в нескольких местах и смастерил красивую заколку, которую протянул девочке. Та приняла подарок с удивлёнными глазами.
Это так мило, спасибо! Она золотая? Я обязательно продам на ярмарке. Непослушным волосам сгодятся простые решения...
Девочка высмотрела на земле сухой корешок и заплела в волосы. Королевскую заколку прицепила к платью, как брошку.
Пока девочка приводила себя в порядок, король Апп успел разжечь небольшой костер и сварить в перевёрнутой короне горсть гречки из кармана. Пока крупа готовилась, король раскопал песок на берегу и нашёл кладку консервов — пару банок король добавил в гречку.
NB: Самка тунца часто закапывает свои консервы поблизости от водоёма, чтобы уберечь от хищников.
Обедали все вместе прямо из короны. А насытившись, остались отдыхать на берегу озера. Бергамот и девочка гонялись за бабочками, король же от усталости погрузился в крепкий сон...
Девочка заинтересовалась схемами.
Почему вы подписаны именами, а про меня написано «девочка»?, — спросила девочка. — Мне так не нравится.Моментально поменяем, — согласился король Апп. — Дай своё имя, я заменю девочку.
Девочка замешкалась. Она не могла ничего дать.
Кот удивился и подошёл проверить. Тщательно обнюхал, но только чихнул:
Андефайнед!
undefined
И немедленно создал миссию...
Имя для девочки
Задача: найти имя для девочки
Варианты решений: Хорошие имена водятся в карбонских болотах неподалёку. Там много других примитивов и в целом — слякоть. Фу, отвратительное место. В такие места надо сапоги носить. Но имена отменные получаются! Вы слушали Элеонору Рузвельт? Чудесно, не правда ли? Чувствуется лёгкий аромат позднего карбона. Надо идти брать, пока есть.
Сроки: до ужина
Звучит интересно, но я не хочу в тапочках гулять по болоту, — запротестовала девочка. — Можно как-нибудь проще?Где взять имя? Есть другие варианты?, — спросил король.
Других вариантов никто не смог придумать. Девочка, кот и король Апп отправились к Карбонским болотам.
Карбонские болота
Карбон — второе название каменноугольного периода в истории Земли. В те годы ещё не появились динозавры, но уже обитали разнообразные амфибии и рептилии. Суша была покрыта тёплыми болотами и хвойными лесами. Старые деревья опускались в илистое дно и медленно превращались в каменный уголь, который через триста миллионов лет будут откапывать шахтёры.
300 миллионов лет назад
Тропинка ведущая к болотам становилась всё меньше, пока совсем не растворилась в лужах с зелёной ряской. Ещё дальше, лужи превращались в одно большое болото до самого горизонта.
Здесь живут примитивы: Були, Инты, Стринги и другие племена. Выглядят как ящерицы самых разных форм и размеров. Из всех прочих, нам нужна небольшая ящерка Стринг, она умеет запоминать имя и хранить его вечно...
А вот огромный хищный Массив — он нам сейчас не нужен!
Король Апп указал на огромную рептилию в глубине болот — размером с многоэтажный дом.
Поэтому меняем планы. В болото не лезем, — сначала нам нужна армия. Вернёмся в горы и найдём деревню с местными жителями, которых можно обучить...
Девочке совсем не понравились новые сложности. Не хотелось возвращаться наверх, потом снова спускаться к болоту. И не хотелось знакомиться с жителями не имея собственного имени.
Нам нужна армия?, — спросила девочка у короля.Определённо да! Отряд из пятидесяти дизайнеров, чтобы отогнать Массив.Почему пятидесяти?Для гарантированного эффекта. Представь пятьдесят дизайнеров, бегущих на тебя с криком «Сейчас всё поправлю!». Такая сила способна прогнать рептилию размером с Ост-Индийскую компанию.
Рис. 16. Пятьдесят случайных дизайнеров
Девочка представила и спросила:
Можно я пойду вместо армии?
Король Апп согласился. Существует не нулевой шанс, что маленькая девочка может выполнить взрослую миссию. И даже сможет заменить пол-сотни обученных солдат. Кто осмелится возразить, что маленькая девочка способна* одолеть тысячу огромных монстров, пройти километры болот и сыграть победную сюиту на белоснежном рояле.
* в теории
Никто не возражает, вот только сложно будет обойтись без приёма Рояль-в-Кустах, — так называют искусственный поворот сюжета, плохо замаскированный под случайность. Это очень скучный приём.
Поэтому, нет. Король Апп не согласился.
А если я повзрослею?, — предложила девочка.Вот это будет намного интереснее.
Девочка повернулась к болотам и закрыла глаза...
Уже стало настолько интересно, что все ящерки из болота подползли к берегу и наблюдали за происходящим. Внешне ничего не менялось. Через несколько секунд девочка открыла глаза и посмотрела на удивлённых ящерок.
Вы повзрослели?, — осторожно поинтересовалась одна ящерка.Да, — ответила девочка.
Ящерки оживились и бросились задавать много вопросов:
Что поменялось?
Как вы к этому пришли?
А почему внешне не изменились?
Почему продолжают писать «девочка», если вы повзрослели?
Можете сказать что-нибудь умное?
Девочка улыбнулась и постаралась разом ответить на все вопросы:
Я просто повзрослела. Подумала о себе, о своём отношении к вам и стала иначе себя вести. А девочкой меня называют, потому что нет другого имени, кроме девочка или Модель Дна...
Ещё один вопрос, пожалуйста, спасибо! Каким конкретно образом вы собираетесь одолеть меня, размером с небольшой филиал страховой компании? Есть сдвиги в этом направлении?
Это прошипел огромный Массив, который к этому времени успел подползти к общей конференции на тему взросления.
«Пятьдесят дизайнеров!, — закричал король Апп и выхватил меч».
Девочка прикоснулась к плечу короля, прося разрешение на ответ. Затем обратилась к Массиву с вежливым поклоном.
«Сдвиги есть. И есть взаимовыгодное предложение: вы расскажете лекцию о примитивах, кто вы такие, зачем вы здесь, какая ваша история? Мы послушаем лекцию, потом вы позволите забрать одну ящерку.»
Все ящерки одобрительно зашипели и Массив принял предложение.
Данные — осколки информации для удобного хранения. Данные можно передавать или обрабатывать.
Простые типы данных (примитивы)
Були (boolean) — либо «да», либо «нет»
Нули (null) — нет данных, нет информации, ничего нет
Анды Файнеды (undefined) — данных всё еще нет, но хотя-бы понятно, где их ждать
Стринги (string) — "текст внутри кавычек"
Намберы (number) — состоят из цифр, обозначают числа
Большие Намберы (bigint) — если обычные намберы не справляются
Непростые типы данных
Массив (array) — цепочка из других ...
Вот в этом месте уже стало скучно и непонятно. Девочка решила, что обязательно послушает в другой раз и полезла в болото, пока остальные были заняты лекцией...
Рис. 10. Модель DNA находит имя в Карбонских болотах
На ветках ближайшего куста сидела небольшая ящерка. По краям глаз у ящерки висели небольшие кавычки из солнечного света, похожие на большие ресницы. Девочка застыла от умиления разглядывая ящерку.
«Какая красивая!, — прошептала девочка и посадила ящерку к себе на плечо. — Ты будешь хранить красивое имя — Шонталь.»
Ящерка тоже с интересом рассматривала девочку и думала:
Бедняжка. Такая хорошенькая, а уже растеряла свои кавычки. Только одна осталась — заколка в волосах. Позабочусь о бедной сиротке.
...теперь понятно, почему примитивы иммутабельны и никогда не хотят менять своих привычек.
Лекция окончена. Всем спасибо.
Укрощение имени
В предыдущих главах:
Король Апп по просьбе кота поднял со дна девочку. После чего, был вынужден выслушать длинную примитивную лекцию, пока девочка взрослела и бегала по болотам, подбирая красивое имя.
"Шонталь"
По дороге из болот, Шонталь радовалась новому имени и знакомилась с каждым встречным:
Здравствуйте, меня зовут Шонталь! Добавьте меня в свою контактную книжку.
Но, позвольте, — возразил один встречный, — ваше имя не Шонталь, а Чик-Чирик
«Какой ещё Чик-Чирик? Почему?, — удивилась Чик-Чирик».
Встречный пожал плечами и указал на ящерку. Вместо ожидаемого имени совсем другое слово было в кавычках:
"Чик-Чирик"
А через несколько секунд:
"Давай поиграем"
Ещё через мгновение, имя вновь поменялось:
"Слоник прыгает в лавандовых полях"
«Как же так?, — огорчилась Слоник прыгает в лавандовых полях, — неужели моё красивое имя пропало? И как теперь жить, если имя меняется каждую секунду?»
"Не расстраивайся"
Не расстраивайся расстроилась и обратилась к королю за помощью. Король Апп внимательно осмотрел ящерку, проверил кавычки с обеих сторон, но не понял в чём дело. Только шаманские танцы с бубном помогут разобраться.
Король сделал бубен из королевской короны — натянул нитки и прикрепил бубенцы из сухих семян.
На краю тропы стоял большой камень. Король посадил на него ящерку, а сам закружился вокруг камня в странном танце под шорох бубна. Долго танцевал, пока не появилась радуга.
По радуге, с весёлыми криками и звонким хохотом, вниз скатились две старушки.
Старушки увидели ящерку и засмеялись ещё громче:
Ха-ха, знакомый пациент. С чем у вас играется? С именами? Вам ещё повезло, в прошлом году ей доверили пароль от вай-фая, вот это был конфуз! Меня зовут Сетера, это моя сестра Гетера. Мы справляемся с такими ящерками на раз-два.
Старушка Сетера запрыгнула на камень на счёт раз, и бесцеремонно села на ящерку на счёт два. Ящерка отчаянно сопротивлялась, но выбраться из под старушки не было шансов.
"Отпусти меня, старая ведьма"
«Чем беспокоит?», — спросила старушка у Отпусти меня, старая... спросила у девочки, лучше так продолжим её называть пока ящерка не образумится... Девочка попросила, чтобы ящерка не меняла имя «Шонталь» ни на что другое, а то совсем неудобно.
Старушка пообещала сделать «Шонталь» константой — так называют неизменяемое значение — и слегка надавила на ящерку. Ящерка сперва поддалась давлению:
"Шонталь"
Но через пару секунд, ящерка взбунтовалась.
"Немедленно отпусти"
"Я"
"Никогда"
"Не буду"
"Работать"
"По вашим"
"Скучным"
"Правилам"
"Отвалите, пожалуйста!"
Тут, думаю, сложный случай, — сказала старушка и отпустила ящерку. — Не хочет быть неизменной константой. К сестре надо обращаться.
Сестра Гетера всё это время танцевала с бабочками в лучах радуги. Услышав обращение, подошла к ящерке, наклонилась и нежно поцеловала в нос.
"Константа"Вы же хотели Константу?, — спросила старушка Гетера и вернулась к танцам не дожидаясь ответа.
Константе понравилось имя «Константа», пусть не похоже на прежнее, но не менее красивое.
Ящерка тоже успокоилась. Теперь она могла что угодно писать в своих кавычках, и её никто не попрекал.
Старушки Гетера и Сетера попрощались, схватились за радугу и вместе с ней улетели в небо.
Король Апп запечатлел момент высекая надпись на камне:
Теперь меня называют по имени, — обрадовалась Константа. — Что дальше?Понравились приключения?, — спросил король Апп.Да!Мне больше всего понравился обед. Так сильно понравился, что страстно желаю ужин.Создать миссию?, — спросил Бергамот.Не стоит, я бы предпочёл горячий суп. Давайте оставим этот камень молчаливым свидетелем произошедшего. Нам бы пересечь горный хребет, пока солнце светит. За хребтом — обитаемая долина Хеадер с ресторанами и ночлегами.
Предложение было принято и запущено в реализацию. Вот этот сленг и совместные приключения крепко подружили персонажей. Издали казалось, что по тропинкам поднимается слаженная MVC-команда.