Выбрать главу

— Ой, — каже вона, — це мій автобус. — Я проклинаю міський громадський транспорт за його випадкову пунктуальність. — Я можу показати вам ті штуки з часовою динамікою, — продовжує дівчина. — Може, якось зустрінемось?

Чом би й ні, залюбки. Може, я наберуся сміливості й куплю їй книжку Тафті. Принесу її, загорнену в коричневий папір. За­ждіть — а це не виглядатиме трохи дивно? Книжка все-таки дорога. Можливо, є дешевший примірник, у м’якій обкладинці? Я міг би замовити її на Amazon. Безглуздя якесь, я ж працюю в книгарні. (Чи зможе Amazon доставити її вчасно?)

Кет усе ще чекає моєї відповіді.

— Звісно, — лепечу я.

Вона записує свою електронну адресу на одній із листівок Пенумбри: katpotente@, звичайно ж, gmail.com.

— Скористаюся купоном іншим разом. — Вона махає своїм телефоном. — До зустрічі.

За нею ще не встигли зачинитися двері, а я вже відкриваю сторінку своєї суперцільової рекламної кампанії. Невже я випадково поставив галочку в графі «красуня»? (А як же графа «незаміжня»?) Чи можу я дозволити собі такі характеристики? З маркетингової точки зору моя рекламна кампанія з тріском провалилася: я не продав жодної книжки, ані дорогої, ані дешевої. Насправді я ще й влетів на долар через пописану листівку. Та хвилюватися не варто: з мого початкового бюджету в одинадцять доларів Google стягнув тільки сімнадцять центів. Натомість я отримав один-єдиний відгук на свою рекламу — один-єдиний бездоганний відгук, що трапився мені рівно двадцять три хвилини тому.

Пізніше, коли година опівнічної самотності й вдихання лігніну трохи мене протвережують, я роблю дві справи.

Перше: пишу повідомлення Кет і питаю, чи не хотіла б вона завтра, тобто в суботу, зі мною пообідати. Іноді я буваю лякливий, але цього разу вирішив кувати залізо, доки воно ще гаряче.

Друге: я набираю в пошуковику «візуалізація з часовою динамікою» й беруся до роботи над новою версією своєї моделі — може, цим прототипом мені вдасться справити враження на Кет. Мені направду подобаються дівчата, на яких можна справити враження прототипом.

Весь задум полягає в тому, щоб не просто показати всі книжки, які є в книгарні, а за допомогою анімації визначати, коли брали книжки і які саме. Для початку я переношу додаткову порцію імен, назв і дат зі свого журналу в комп’ютер. Тоді пишу коди.

Програмування буває різним. Звичайна мова має різну рит­мічність і містить усілякі фразеологізми, еге ж? Те саме й у мові програмування. Мова, що називається C, — суцільний грубий наказовий спосіб і майже голий машинний код. Мова під назвою Lisp являє собою довгі закручені речення, та ще й із купою підпунктів, тому частенько трапляється так, що в кінці вже годі пригадати, що там було на початку. Мова програмування Erlang — це той варіант, коли назва говорить сама за себе: ексцентрична й скандинавська. Я не вмію кодувати жодною із цих мов, бо вони заскладні для мене.

А от Ruby, яку я обрав ще тоді, коли створював сайт для «Нового бейґла», розробив життєрадісний японський програміст, і вона читається, як легкі, мелодійні вірші. Біллі Коллінз[21] у ролі Білла Ґейтса.

Та, певна річ, суть мови програмування не в тому, щоб її читали. Вона створена для того, щоб нею писати, примушувати її виконувати ваші команди. І в цьому, як на мене, Ruby не має рівних.

Уявіть, що ви куховарите й замість того, щоб невідступно дотримуватись рецепта з надією на краще, можете виймати інгредієнти з каструлі чи додавати їх, коли вам заманеться. Можете додати солі, спробувати ваше вариво, похитати головою й прибрати звідти сіль. Можете окремо спекти бездоганну хрустку скоринку й уже опісля додати до неї все, що забажаєте. Це більше не лінійний процес, який закінчується успіхом чи (зазвичай у моєму випадку) прикрою невдачею. Ні, це спіраль, завитушка або ж маленька закарлюка. Це гра.

Отож я додаю трохи солі, присмачую все маслом і близько другої ночі отримую прототип нової візуалізації. І тут помічаю щось дивне: вогники йдуть один за одним.

На екрані я бачу, що Тінделл візьме книжку з вершечка стелажа в другому ряду. Потому, десь за місяць, Лапін попросить книгу з тієї самої полиці. Через п’ять тижнів по книгу з тієї ж полиці прийде Імберт, а Тінделл тим часом уже візьме нову — з самого низу стелажа в першому ряду. Він на крок попереду.

Я не помічав цієї закономірності раніше, бо вона розтяглась у просторі й часі, як музичний твір, у якому інтервал між нотами становить три години, а всі ноти в різних октавах. Але тут, коли я стиснув і прискорив її на своєму екрані, закономірність стає очевидною. Усі вони грають ту саму мелодію, або танцюють той самий танець, або — так — розгадують ту саму загадку.

вернуться

21

Біллі Коллінз (нар. 1941 р.) — американський поет.