Круглосуточный книжный мистера Пенумбры (Слоун) - страница 32

А вот Ruby, мой рабочий язык со времен «НовоБублика», разработал жизнерадостный японец, и он читается как звучные и понятные стихи. Билли Коллинз[9] в роли Билла Гейтса.

Но, разумеется, смысл языка программирования в том, что ты его не просто читаешь: ты на нем еще и пишешь. Ты заставляешь его делать какие-то вещи. И вот тут-то, по-моему, Ruby восхитителен.

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

Так что я добавляю немного соли, чуток сливочного масла и к двум часам ночи получаю рабочий прототип моей новой визуализации. И тут же замечаю кое-что странное: огоньки бегут друг за другом.

Вот у меня на экране Тиндэлл берет книгу с верхушки стеллажа во втором ряду. Затем, в следующем месяце, книгу с той же полки просит Лапен. Спустя пять недель за ними последует Имберт – опять та же самая полка, – но к этому времени Тиндэлл уже вернул свою книгу и взял другую с нижней полки в первом ряду. Он на шаг впереди.

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

Звякает колокольчик. Это Имберт: невысокий и крепкий, в колючей черной бороде и обвисшей кепке-гавроше. Он водружает на стойку книгу (громадный том в красной обложке) и толкает ее ко мне. Я быстренько кликаю по своей модели, отыскивая место Имберта в общем узоре. По экрану скачет оранжевый огонек, и не успевает Имберт сказать и слова, а я уже знаю, что он попросит книгу из самой середины второго ряда. Это будет…

– Прохоров, – тяжело выдыхает Имберт. – Теперь мне Прохорова.

На полпути вверх по лесенке у меня вдруг начинает кружиться голова. Что происходит? В этот раз никаких лихих выкрутасов: вытягивая с полки тонкого Прохорова в черной обложке, я едва удерживаю равновесие.

Имберт подает карточку – 6MXH2I – и уносит книгу. Звук колокольчика, и я опять один.

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