Программисты vs. огранщиков

2011-04-10
И всё же работа программистов очень похожа на древнюю профессию огранщиков, которые ювелирно работают с разными камнями. Если бы Павел Петрович Бажов знал про программистов, то он точно написал бы не "Каменный цветок", а что-нибудь другое. Например, "Разработка на Visual C++"(кажется так называлась первая прочитанная мной книга про С++). Ну а пока, я взял "Каменный цветок", напустил на него программу grep и вот что получилось:

Не одни калифорнийцы на славе были по программерскому-то делу. Тоже и в наших фирмах, сказывают, это мастерство имели. Та только различка, что наши больше с c++ и asm вожгались (трудились), как его было довольно, и сорт - выше нет. Вот из этого с++ и выделывали подходяще. Такие, слышь-ко, штучки, что диву дашься: как ему помогло.
Был в ту пору мастер Петровичъ. По этим делам первый. Лучше его никто не мог. В пожилых годах был.
Вот директор и велел проджект менеджеру поставить к этому Петровичу парнишек на выучку.
- Пущай-де переймут всё до тонкости. Только Петровичъ, - то ли ему жаль было расставаться со своим мастерством, то ли еще что, - учил шибко худо. Все у него с рывка да с тычка. Насадит парнишке по всей голове шишек, уши чуть не оборвет да и говорит приказчику:
- Не гож этот... Руки у него кривые, всё через одно место думает. Толку не выйдет.
Менеджеру, видно, заказано было ублаготворять Петровича.
- Не гож, так не гож... Другого дадим... - И нарядит другого парнишку.
Ребятишки прослышали про эту науку... Спозаранку ревут, как бы к Петровичу не попасть. Отцам-метерям тоже не сладко родного дитенка на зряшную муку отдавать, - выгораживать стали свои-то, кто как мог. И то сказать, нездорово это мастерство, с с++. Отрава чистая. Вот и оберегаются люди. Менеджер все ж таки помнит дирестора наказ - ставит Петровичу учеников. Тот по своему порядку помытарит парнишку да и сдаст обратно приказчику.
- Не гож этот... Менеджер взъедаться стал:
- До какой поры это будет? Не гож да не гож, когда гож будет? Учи этого... Петровичъ, знай, свое:
- Мне что... Хоть десять годов учить буду, а толку из этого парнишки не будет...
-Какого тебе еще?
- Мне хоть и вовсе не ставь, - об этом не скучаю...
Так вот и перебрали менеджер с Петровичем много ребятишек, а толк один: в программе ошибки и утечки памяти, а в голове - C#. Нарочно которые портили, чтобы Петрович их прогнал. Вот так-то и дошло дело до Данилки Недокормыша. Сиротка круглый был этот парнишечко. Годов, поди, тогда двадцати, а то и боле. На ногах высоконький, а худой-расхудой, в чем душа держится. Ну, а с лица чистенький. Волосенки кудрявеньки, глазенки голубеньки. Его и взяли сперва в дизайнеры при отделе маркетинга: то иконку нарисовать, то веб-страничку сверстать. Только у этого сиротки дарованья к такому делу не оказалось. Другие парнишки на таких-то местах вьюнами вьются. Чуть что - навытяжку: что прикажете? А этот Данилко забьется куда в уголок, уставится глазами на template какой, а то на указатель умный, да и стоит. Его кричат, а он и ухом не ведет. Били, конечно, поначалу-то, потом рукой махнули:
- Блаженный какой-то! Тихоход! Из такого хорошего слуги не выйдет.
На заводскую работу либо в тех.суппорт все ж таки не отдали - шибко жидко место, на неделю не хватит. Поставил его менеджер в тестеры. И тут Данилко не вовсе гож пришелся. Парнишечко ровно старательный, а все у него оплошка выходит. Все будто думает о чем-то. Уставится глазами на работающий python script, а он возьмет и отформатирует диск Ц! Старший тестер ласковый попался, жалел сиротку, и тот временем ругался:
- Что только из тебя, Данилко, выйдет? Погубишь ты себя, да и мою старую спину под бой подведешь. Куда это годится? О чем хоть думка-то у тебя?
- Я и сам, дедко, не знаю... Так... ни о чем... Засмотрелся маленько. Гарбидж коллектор не сработал в python. Память так и занималась... И обработчики ошибок не написали. Да и про оптимизацию забыли. Надо было на c++ написать...
- Ну, не дурак ли ты, Данилко? Твое ли дело букашек разбирать? Работает скрипт - и работает, а твое дело за ошибками глядеть. Смотри у меня, выбрось эту дурь из головы, не то менеджеру скажу!
Одно Данилушке далось. Пасьянс-косынку он играть научился - куда старику! Вечером, как баги в BugZill-у занесёт, девки-бабы просят:
- Сыграй, Данилушко, пасьянчик.
Он и начнет наигрывать. И каслады все незнакомые. Не то дама червовая выпадет, не то 3ка крестовая, 2ка бубновая, а хорошо выходит. Шибко за те пасьянсы стали женщины привечать Данилушку. Кто пониточек (верхнюю одежду из домашнего сукна) починит, кто холста на онучи отрежет, рубашонку новую сошьет. Про кусок и разговору нет, - каждая норовит дать побольше да послаще. Старшему тестеру тоже Данилушковы пасьянсы по душе пришлись. Только и тут маленько неладно выходило. Начнет Данилушко наигрывать и все забудет, ровно и ошибок в программах нет. На этой игре и пристигла его беда.
Данилушко, видно, заигрался, а старший тестер задремал по малости. Сколько-то ошибок у них и отбилось. Как стали на отчёт собирать, глядят - той нет, другой нет. Искать кинулись, да где тебе. Искали около менеджера памяти... Самое тут волчье место, глухое... Одну только ошибку и нашли. Загнали ошибки в базу... Так и так - обсказали. Ну, из программистов тоже побежали - поехали на розыски, да не нашли.
Расправа тогда известно какая была. За всякую вину спину кажи. На грех еще одна-то ошибка из кода главного программиста была. Тут и вовсе спуску не жди. Растянули сперва старшего тестера, потом и до Данилушки дошло, а он худенький да тощенький. Релиз-иженер оговорился даже.
- Экой-то, - говорит, - с одного разу сомлеет, а то и вовсе душу выпустит.
Запустил юнит-тесты все ж таки - не пожалел, а Данилушко молчит. Следующий тест провалился - молчит, третьий - молчит. Релиз-инженер тут и расстервенился, давай посылать со всего плеча, а сам кричит:
- Я тебя, молчуна, доведу... Дашь голос... Дашь! Данилушко дрожит весь, слезы каплют, а молчит. Закусил губенку-то и укрепился. Так и сомлел, а словечка от него не слыхали. Менеджер, - он тут же, конечно, был, - удивился:
- Какой еще терпеливый выискался! Теперь знаю, куда его поставить, коли живой останется.
Выстаял-таки Данилушко. Билд-инженер его на ноги поставил. Хорошо Данилушке с билд-иженером было. Данилушко к билдам-то любопытен - как этот собирается? где скачать библиотеку? какой версии? Инженер ему и рассказывает.
Раз Данилушко и спрашивает:
- Ты, инженер, всякий билд в нашей конторе знаешь?
- Хвастаться, - говорит, - не буду, а все будто знаю, какие открытые-то.
- А разве, - спрашивает, - еще не открытые бывают?
- Есть, - отвечает, - и такие. Новый html-engine вот слыхал? Он будто всё умеет. Тот engine всё парсит. Страницы им открывают. Для человека вредный. К нему еще и скриптовый язык свой есть. Запустишь его - и все тебе затворы открыты. Несчастный тот человек, который этот engine использует.
- Чем, инженер, несчастный?
- А это, дитёнок, я и сам не знаю. Так мне сказывали.
Данилушко с билд-инженером, может, и подольше бы поработал, да администраторы базы данных углядели, что парнишко мало-помалу разбираться стал, и сейчас к менеджеру. Менеджер Данилушку призвал да и говорит:
- Иди-ко теперь к Петровичу - программисткому делу обучаться. Самая там по тебе работа.
Ну, что сделаешь? Пошёл Данилушко, а самого еще ветром качает. Петровичъ поглядел на него да и говорит:
- Еще такого недоставало. Здоровым парнишкам здешняя учеба не по силе, а с такого что взыщешь - еле живой стоит.
Пошел Петровичъ к менеджеру:
- Не надо такого. Еще ненароком убьешь - отвечать придется.
Только менеджер - куда тебе, слушать не стал:
- Дано тебе - учи, не рассуждай! Он - этот парнишка - крепкий. Не гляди, что жиденький.
- Ну, дело ваше, - говорит Петровичъ, - было бы сказано. Буду учить, только бы к ответу не потянули.
- Тянуть некому. Одинокий этот парнишка, что хочешь с ним делай, - отвечает менеджер.
Пришел Петровичъ домой, а Данилушко около ноутбука стоит, одну структуру оглядывает. В этой структуре много полей - надо было оптимизировать. Вот Данилушко на это место уставился и головенкой покачивает. Петровичу любопытно стало, что этот новенький парнишка тут разглядывает. Спросил строго, как по его правилу велось:
- Ты это что? Кто тебя просил в моих исходниках копаться? Что тут доглядываешь? Данилушко и отвечает:
- На мой глаз, дедушко, тут надо union использовать. Вишь, похожие переменные тут. Петровичъ закричал, конечно:
- Что? Кто ты такой? Мастер? У рук не бывало, а судишь? Что ты понимать можешь?
- То и понимаю, что эту структуру испортили, - отвечает Данилушко.
- Кто испортил? а? Это ты, сопляк, мне - первому программисту!.. Да я тебе такой юнион покажу... жив не будешь!
Пошумел так-то, покричал, а Данилушку пальцем не задел. Петровичъ-то, вишь, сам над этой структурой думал - как оптимизировать, где память взять. Данилушко своим разговором в самую точку попал. Прокричался Петровичъ и говорит вовсе уж добром:
- Ну-ко, ты, мастер явленный, покажи, как по-твоему сделать?
Данилушко и стал показывать да рассказывать:
- Вот бы такой класс вышел. А того бы лучше - структуру с юнионом сделать и еще темплейт-функцию, да параметр добавить.
Петровичъ знай покрикивает:
- Ну-ну... Как же! Много ты понимаешь. Да у тебя и компилироваться это не будет! - А про себя думает: "Верно парнишка говорит. Из такого, пожалуй, толк будет. Только учить-то его как? Стукни разок - он и ноги протянет".
Подумал так да и спрашивает:
- Ты хоть чей, экий ученый?
Данилушко и рассказал про себя.
Дескать, сирота. Матери не помню, а про отца и вовсе не знаю, кто был. Кличут Данилкой Недокормышем, а как отчество и прозванье отцовское - про то не знаю. Рассказал, как он в дизайнерах был и за что его прогнали, как потом лето с тестерами работал, как под сбой попал.
Петровичъ пожалел:
- Не сладко, гляжу, тебе, парень, житьишко-то задалось, а тут еще ко мне попал. У нас мастерство строгое.
Потом будто рассердился, заворчал:
- Ну, хватит, хватит! Вишь разговорчивый какой! Языком-то - не руками - всяк бы работал. Целый вечер лясы да балясы! Ученичок тоже! Погляжу вот завтра, какой у тебя толк. Садись, ужинать, да и спать пора.
Петровичъ одиночкой жил. Жена-то у него давно умерла. Старушка Митрофановна из соседей снаходу у него хозяйство вела. Утрами ходила постряпать, сварить чего, в избе прибрать, а вечером Петровичъ сам управлял, что ему надо.
Поели, Петровичъ и говорит:
- Ложись вон тут на скамеечке!
Данилушко разулся, котомку свою под голову, понитком закрылся, поежился маленько, - вишь, холодно в избе-то было по осеннему времени, - все-таки вскорости уснул. Петровичъ тоже лег, а уснуть не мог: все у него разговор о той струкуре из головы нейдет. Ворочался-ворочался, встал, зажег свечку да и к компьютеру - давай эту структуру так и сяк изменять. Один параметр уберёт, другой... прибавит поле, убавит. Так скомпилирует, в другой класс перенесёт, и все выходит, что парнишка лучше суть понял.
- Вот тебе и Недокормышек! - дивится Петровичъ. - Еще ничем-ничего, а старому мастеру указал. Ну и глазок! Ну и глазок!
Пошел потихоньку в чулан, притащил оттуда подушку, большой овчинный тулуп и usb-stick. Подсунул подушку Данилушке под голову, тулупом накрыл и usb в руку вложил:
- Спи-ко, глазастый!
А тот и не проснулся, повернулся только на другой бочок, растянулся под тулупом-то - тепло ему стало, - и давай насвистывать носом полегоньку. У Петровича своих ребят не было, этот Данилушко и припал ему к сердцу. Стоит мастер, любуется, а Данилушко знай посвистывает, спит себе спокойненько. У Петровича забота - как бы парнишку хорошенько на ноги поставить, чтоб не такой тощий да нездоровый был.
- С его ли здоровьишком нашему мастерству учиться. Пыль, отрава, - живо зачахнет. Отдохнуть бы ему сперва, подправиться, потом учить стану. Толк, видать, будет.
На другой день и говорит Данилушке:
- Ты спервоначалу по хозяйству помогать будешь. Такой у меня порядок заведен. Понял? Для первого разу сделай backup моего компьютера. А то я забыл уже когда бэкапился последний раз. Да, гляди, не удали ничего лишнего. Понял?
На другой день опять говорит:
- Создай еще один аккаунт в моём git-сервере. Гляди, чтоб другие не удалил. Понял?
Когда Данилушко создал и форкнулся, Петровичъ говорит:
Ладно, да не вовсе. Читай код пока.
Так и пошло. На каждый день Петровичъ Данилушке работу дает, а все забава. Как снег выпал, велел ему с соседом-программистом ошибки в скриптах исправить - пособишь-де. Ну, а какая подмога! Вроде еще не программировал, а дизайн и архитектуру проекта учит. Ноутбук ему Петровичъ справил с яблочком, мышку волшебную, огромный монитор. Петровичъ, видишь, имел достаток. Хоть крепостной был, а по оброку ходил, зарабатывал маленько. К Данилушке-то он крепко прилип. Прямо сказать, за сына держал. Ну, и не жалел для него, а к делу своему не подпускал до времени.
В хорошем-то житье Данилушко живо поправляться стал и к Петровичу тоже прильнул. Ну, как! - понял Петровича заботу, в первый раз так-то пришлось пожить. Прошла зима. Данилушке и вовсе вольготно стало. То он на митинг, то на конференцию. Только и к мастерству Данилушко присматривался. Прибежит домой, и сейчас же у них разговор. То, другое Петровичу расскажет да и спрашивает - это что да это как? Петровичъ объяснит, на деле покажет. Данилушко примечает. Когда и сам примется: "Ну-ко, я..." Петровичъ глядит, поправит, когда надо, укажет, как лучше.
Вот как-то раз менеджер и углядел Данилушку на конференции. Спрашивает своих-то программистов:
- Это чей парнишка? Который день его на конференции вижу... По будням с ноутбукам балуется, а уж не маленький... Кто-то его от работы прячет...
Узнали программисты, говорят менеджеру, а он не верит.
- Ну-ко, - говорит, - тащите парнишку ко мне, сам дознаюсь.
Привели Данилушку. Менеджер спрашивает:
- Ты чей?
Данилушко и отвечает:
- В ученье, дескать, у мастера по с++ делу.
Менеджер тогда хвать его за ухо:
- Так-то ты, стервец, учишься! - Да за ухо и повел к Петровичу.
Тот видит - неладно дело, давай выгораживать Данилушку:
- Это я сам его послал послушать о новых технологиях. Сильно о свеженьких-то технологиях скучаю. По нездоровью моему(геморой) в конференциях принимать участия не могу. Вот и велел парнишке сходить.
Менеджер не поверил. Смекнул тоже, что Данилушко вовсе другой стал: поправился, рубашонка на нем добрая, штанишки тоже и на ногах сапожнешки. Вот и давай проверку Данилушке делать:
- Ну-ко, покажи, чему тебя мастер выучил? Данилушко ноутбук открыл, залогинился и давай рассказывать да и показывать. Что менеджеру спросит - у него на все ответ готов. Как виртуальную функцию написать, как память освободить, параметр передать в фунцию, как синглтон создать, как отсортировать пузырьком массив, как хэш-тейбл работает. Однем словом, все как есть.
Пытал-пытал менеджер да и говорит Петровичу:
- Этот, видно, гож тебе пришелся?
- Не жалуюсь, - отвечает Петровичъ.
- То-то, не жалуешься, а баловство разводишь! Тебе его отдали мастерству учиться, а он по конференциям с ноутбуком! Смотри! Таких тебе свежих технологий отпущу - до смерти не забудешь да и парнишке невесело станет.
Погрозился так-то, ушел, а Петровичъ дивуется:
- Когда хоть ты, Данилушко, все это понял? Ровно я тебя еще и вовсе не учил.
- Сам же, - говорит Данилушко, - показывал да рассказывал, а я примечал.
У Петровича даже слезы закапали, - до того ему это по сердцу пришлось.
- Сыночек, - говорит, - милый, Данилушко... Что еще знаю, все тебе открою... Не потаю...
Только с той поры Данилушке не стало вольготного житья. Менеджер на другой день послал за ним и работу на урок стал давать. Сперва, конечно, попроще что: добавить дебаг информацию, убрать старые функции, лишние переменные. Потом тяжелее пошло: базы данных и многопотоковость. Там и до графики доехали. Вертексы и да текстурки, нормали да тангенсы. У них ведь - с++ков - дело мешкотное. Пустяковая ровно штука, а сколько он над ней сидит! Так Данилушко и вырос за этой работой.
А как скомпилировал шейдер, так его и вовсе мастером менеджер признал. Директору об этом отписал:
"Так и так, объявился у нас новый мастер по с++ делу - Данилко Недокормыш. Работает хорошо, только по молодости еще тих. Прикажете на уроках его оставить, али как и Петровича, на оброк отпустить?"
Работал Данилушко вовсе не тихо, а на диво ловко да скоро. Это уж Петровичъ тут сноровку поимел. Задаст менеджер Данилушке какой урок на пять ден, а Петровичъ пойдет да и говорит:
- Не в силу это. На такую работу полмесяца надо. Учится ведь парень. Поторопится - только электроэнергию без пользы изведет.
Ну, менеджер поспорит сколько, а дней, глядишь, прибавит. Данилушко и работал без натуги. Поучился даже потихоньку от менеджера читать, писать. Так, самую малость, а все ж таки разумел грамоте. Петровичъ ему в этом тоже сноровлял. Когда и сам наладится менеджеровы уроки за Данилушку делать, только Данилушко этого не допускал.
- Что ты! Что ты, дяденька! Твое ли дело за меня у компьютера сидеть! Смотри-ка, у тебя борода позеленела от с++, здоровьем скудаться (хворать. ( Ред.) стал, а мне что делается?
Данилушко и впрямь к той поре выправился. Хоть по старинке его Недокормышем звали, а он вон какой! Высокий да румяный, кудрявый да веселый. Однем словом, сухота девичья. Петровичъ уж стал с ним про невест заговаривать, а Данилушко, знай, головой потряхивает:
- Не уйдет от нас! Вот мастером настоящим стану, тогда и разговор будет.
Директор на менеджерово известие отписал:
"Пусть тот Петровича выученик Данилко сделает еще игру на OpenGL. Тогда погляжу - на оброк пустить али на уроках держать. Только ты гляди, чтобы Петровичъ тому Данилке не пособлял. Не доглядишь - с тебя взыск будет".
Менеджер получил это письмо, призвал Данилушку да и говорит:
- Тут, у меня, работать будешь. Компьютер тебе наладят, книжек умных привезут, каких надо.
Петровичъ узнал, запечалился: как так? что за штука? Пошел к менеджеру, да разве он скажет... Закричал только: "Не твое дело!".
Ну, вот пошел Данилушко работать на ново место, а Петровичъ ему наказывает:
- Ты, гляди, не торопись, Данилушко! Не оказывай себя.
Данилушко сперва остерегался. Примеривал да прикидывал больше, да тоскливо ему показалось. Делай не делай, а срок отбывай - сиди у менеджера с утра до ночи. Ну, Данилушко от скуки и сорвался на полную силу. Игра-то у него живой рукой и вышла из дела. Приказчик поглядел, будто так и надо, да и говорит:
- Еще такую же делай!
Данилушко сделал другую, потом третью. Вот когда он третью-то кончил, приказчик и говорит:
- Теперь не увернешься! Поймал я вас с Петровичем. Директор тебе, по моему письму, срок для одной игры дал, а ты три запрограммировал. Знаю твою силу. Не обманешь больше, а тому старому псу покажу, как потворствовать! Другим закажет!
Так об этом и директору написал и игры все три предоставил. Только директор, - то ли на него умный стих нашел, то ли он на менеджера за что сердит был, - все как есть наоборот повернул.

Оброк Данилушке назначил пустяковый, не велел парня от Петровича брать - может-де вдвоем скорее придумают что новенькое. При письме идею послал. Там тоже игра нарисована со всякими штуками. Шейдеры 2ой модели, спецэффекты, обязательно сетевая игра. Одим словом, придумано. А на чертеже директор подписал: "Пусть хоть пять лет просидит, а чтобы такая в точности сделана была".
Пришлось тут менеджеру от своего слова отступить. Объявил, что директор написал, отпустил Данилушку к Петровичу и диз-док отдал.
Повеселели Данилушко с Петровичем, и работа у них бойчее пошла. Данилушко вскоре за ту новую игру принялся. Хитрости в ней многое множество. Чуть неладно накодил, - пропала работа, снова начинай. Ну, глаз у Данилушки верный, рука смелая, силы хватит - хорошо идет дело. Одно ему не по нраву - трудности много, а красоты ровно и вовсе нет. Говорил Петровичу, а он только удивился:
- Тебе-то что? Придумали - значит, им надо. Мало ли я всяких программ скомпилировал да слинковал, а куда они - толком и не знаю.
Пробовал с менеджером поговорить, так куда тебе. Ногами затопал, руками замахал:
- Ты очумел? За диз-док большие деньги плачены. Дизайнер, может, по столице первый его делал, а ты пересуживать выдумал!
Потом, видно, вспомнил, что директор ему заказывал, - не выдумают ли вдвоем чего новенького, - и говорит:
- Ты вот что... делай эту игру по директорскому чертежу, а если другую от себя выдумаешь - твое дело. Мешать не стану. Дискового пространства у нас, поди-ко, хватит. Какой надо - такой и дам.
Тут вот Данилушке думка и запала. Не нами сказано - чужое охаять мудрости немного надо, а свое придумать - не одну ночку с боку на бок повертишься. Вот Данилушко сидит над этой игрой по чертежу-то, а сам про другое думает. Переводит в голове, какой геймплей, какая физика к игре лучше подойдет. Задумчивый стал, невеселый. Петровичъ заметил, спрашивает:
- Ты, Данилушко, здоров ли? Полегче бы с этой игрой. Куда торопиться? Сходил бы в разгулку куда, а то все сидишь да сидишь.
- И то, - говорит Данилушко, - в бар хоть сходить. Не увижу ли, что мне надо.
С той поры и стал чуть не каждый день в бар бегать. Время как раз подходящее. Разные пивные акции. Данилушко остановится около барной стойки и стоит, смотрит. А то опять ходит по барам да разглядывает людей-то, как ищет что. Людей в ту пору в барах и на улицах много. Спрашивают Данилушку - не потерял ли чего? Он улыбнется этак невесело да и скажет:
- Потерять не потерял, а найти не могу. Ну, которые и запоговаривали:
- Неладно с парнем.
А он придет домой и сразу к компьютеру, да до утра и сидит, а с солнышком опять в город да по барам. С лица спал, глаза беспокойные стали, в руках смелость потерял. Петровичъ вовсе забеспокоился, а Данилушко и говорит:
- Игра мне покою не дает. Охота так ее сделать, чтобы геймплей полную силу имел. Петровичъ давай отговаривать:
- На что она тебе далась? Сыты ведь, чего еще? Пущай директора тешатся, как им любо. Нас бы только не задевали. Придумают какой дизайн - сделаем, а навстречу-то им зачем лезть? Лишний хомут надевать - только и всего.
Ну, Данилушко на своем стоит.
- Не для директора, - говорит, - стараюсь. Не могу из головы выбросить ту игру. Вижу, поди-ко, какой у нас компилятор, а мы что с ним делаем? Кодим, да компилируем, да рефакторинг наводим и вовсе ни к чему. Вот мне и припало желание так сделать, чтобы полную силу компилятора и железа самому поглядеть и людям показать.
По времени отошел Данилушко, сел опять за ту игру, по директорскому чертежу. Работает, а сам посмеивается:
- Геймплей фиговый, физика - никакая, графига 8битная...
Потом вдруг забросил эту работу. Другое начал. Без передышки у компьютера сидит. Петровчу сказал:
- Для iPhon-а игру делать буду.
Петровичъ отговаривать принялся. Данилушко сперва и слушать не хотел, потом, дня через три-четыре, как у него какая-то оплошка вышла, и говорит Петровичу:
- Ну ладно. Сперва директорскую игру кончу, потом за свою примусь. Только ты уж тогда меня не отговаривай... Не могу ее из головы выбросить.
Петровичъ отвечает:
- Ладно, мешать не стану, - а сам думает: "Уходится парень, забудет. Женить его надо. Вот что! Лишняя дурь из головы вылетит, как семьей обзаведется".
Занялся Данилушко игрой. Работы в ней много - в один год не укладешь. Работает усердно, про iPhone-игру не поминает. Петровичъ и стал про женитьбу заговаривать:
- Вот хотя бы Катя Летемина - чем не невеста? Хорошая девушка... Похаять нечем.
Это Петровичъ-то от ума говорил. Он, вишь, давно заприметил, что Данилушко на эту девушку сильно поглядывал. Ну, и она не отворачивалась. Вот Петровичъ, будто ненароком, и заводил разговор. А Данилушко свое твердит:
- Погоди! Вот с игрушкой управлюсь. Надоела мне она. Того и гляди - молотком стукну, а он про женитьбу! Уговорились мы с Катей. Подождет она меня.
Ну, сделал Данилушко игру по директорскому дизайну. Менеджеру, конечно, не сказали, а дома у себя гулянку маленькую придумали сделать. Катя - невеста-то - с родителями пришла, еще которые... из мастеров же с++-ых больше. Катя дивится на игру.
- Как, - говорит, - только ты ухитрился шейдер такой написать и компилятор нигде не обломил! До чего все гладко да чисто!
Мастера тоже одобряют:
- В аккурат-де по диз-доку. Придраться не к чему. Чисто сработано. Лучше не сделать, да и скоро. Так-то работать станешь - пожалуй, нам тяжело за тобой тянуться.
Данилушко слушал-слушал да и говорит:
- То и горе, что похаять нечем. Гладко да ровно, компилируется без предупреждений, сетевая игра по диз.доку, а красота где? Вон iPhone... самая что ни есть 8ми битная приставка, а глядишь на неё - сердце радуется. Ну, а эта игра кого обрадует? На что она? Кто поглядит, всяк, как вон Катенька, подивится, какой-де у мастера глаз да рука, как у него терпенья хватило нигде компилятор не обломить.
- А где оплошал, - смеются мастера, - там хак да впендюрил, и концов не найдешь.
- Вот-вот... А где, спрашиваю, красота игры? Тут графика, а она у тебя тормозит. Почему? Порча ведь это игры.
Горячиться стал. Выпил, видно, маленько. Мастера и говорят Данилушке, что ему Петровичъ не раз говорил:
- Графика - графика и есть. Что с ней сделаешь? Наше дело такое - кодить да компилировать.
Только был тут старичок один. Он еще Петровича и тех - других-то мастеров - учил. Все его дедушком звали. Вовсе ветхий старичоночко, а тоже этот разговор понял да и говорит Данилушке:
- Ты, милый сын, по этой половице не ходи! Из головы выбрось! А то попадешь в indie мастера...
- Какие мастера, дедушко?
- А такие... живут на белом свете, никто их не видит... Случилось мне раз видеть. Вот работа! От нашей, от здешней, на отличку.
Всем любопытно стало. Спрашивают, какую игру видел.
- Да стрелялку, - говорит, - ту же, какую вы программируете.
- Ну, и что? Какая она?
- От здешних, говорю, на отличку. Любой программист увидит, сразу узнает - не здешняя работа. У наших стрелялка, сколь чисто не программируют, глючная, а тут как есть живая. Графика современная, шейдеры... Того и гляди - виртуальная реальность. Им ведь что! Они и для iPhon-ов делают .
Данилушко, как услышал про iPhone, давай спрашивать старика. Тот по совести сказал:
- Не знаю, милый сын. Слыхал, что есть такой девайс. Видеть его нашему брату нельзя. Кто поглядит, тому белый свет не мил станет.
Данилушко на это и говорит:
- Я бы поглядел.
Тут Катенька, невеста-то его, так и затрепыхалась:
- Что ты, что ты, Данилушко! Неуж тебе белый свет наскучил? - да в слезы.
Петровичъ и другие программисты сметили дело, давай старого программиста на смех подымать:
- Выживаться из ума, дедушко, стал. Сказки сказываешь. Парня зря с пути сбиваешь. Старик разгорячился, по столу стукнул:
- Есть такой девайс! Парень правду говорит: игры мы не умеем делать.
Программисты смеются:
- Хлебнул, дедушко, лишка!
А он свое:
- Есть такой девайс!
Разошлись гости, а у Данилушки тот разговор из головы не выходит. Петровичъ уж понуждать стал:
- Что ты девушку позоришь? Который год она в невестах ходить будет? Того жди - пересмеивать ее станут. Мало смотниц-то (сплетниц. - Ред.)?
Данилушко одно свое:
- Погоди ты маленько! Вот только свою игру сделаю.

И давай кодить на Виновз7 с использованием OpenGL.
Раз как-то скомпилировал игру, подумал да и говорит:
- Нет, не то...
Только это промолвил, кто-то и говорит:
- Купи мак... делай игру под iOS. Глядит Данилушко - никого нет. Кто бы это? Шутят, что ли... Будто и спрятаться негде. Поогляделся еще, начал закрывать Visual Studio, а вслед ему опять:
- Слышь, Данило-программист? Купи Мак, поставь XCode, говорю.
Оглянулся Данилушко - женщина какая-то чуть видна, как туман голубенький. Потом ничего не стало. Голограмма. Halo.
"Что, - думает, - за шутка? что, если и вправду купить Мак?"
Вот на другой день и пошел Данилушко в Эппл Стор. Смотрит, чего тут только нет. И этого нет, и того нет. А много айПодов и айФонов. Дизайн простой, легкий. С одной стороны и вовсе как срезано.
Подошёл Данилушко к этому айФону. Стал оглядывать Данилушко эту находку. Все, как ему надо: и графику можно на OpenGL, и физику, и геймплей, экран крутой... Ну, все как есть... Обрадовался Данилушко, скорей стал покупать его да и МакМини, а потом Петровичу и говорит:
- Гляди-ко, iPhone какой! Ровно нарочно для моей работы. Теперь живо сделаю. Тогда и жениться. Верно, заждалась меня Катенька. Да и мне это не легко. Вот только эта работа меня и держит. Скорее бы ее кончить!
Ну, и принялся Данилушко за свою игру. Ни дня, ни ночи не знает. А Петровичъ помалкивает. Может, угомонится парень, как охотку стешит. Работа ходко идет. Уже графику отделал. Как есть, слышь-ко, графика крутая. Шейдеры 2.0, модельки можно с Blender-а использовать - все пришлось лучше нельзя. Петровичъ и то говорит - графика-то, как живая, хоть рукой пощупать. Ну, как до геймплея дошел - тут заколодило. Уровни выточил, бонусы добавил! ИИ, как у лучших аркад, а не то... Не живой стала игра и красоту потеряла. Данилушко тут и сна лишился. Сидит над этой своей игрой, придумывает, как бы поправить, лучше сделать. Петровичъ и другие мастера, кои заходили поглядеть, дивятся, - чего еще парню надо? Игра вышла - никто такой не делывал, а ему неладно. Умуется (заговаривается. - Ред.) парень, лечить его надо. Катенька слышит, что люди говорят, - поплакивать стала. Это Данилушку и образумило.
- Ладно, - говорит, - больше не буду. Видно, не подняться мне выше-то, не поймать силу айФона. - И давай сам торопить со свадьбой. Ну, а что торопить, коли у невесты давным-давно все готово. Назначили день. Повеселел Данилушко. Про игру-то менеджеру сказал. Тот прибежал, глядит - вот штука какая! Хотел сейчас эту игру директору отправить, да Данилушко говорит:
- Погоди маленько, доделка есть.
Время осеннее было. Как раз около Змеиного праздника свадьба пришлась. К слову, кто-то и помянул про это - вот-де скоро змеи все в одно место соберутся. Данилушко эти слова на приметку взял. Вспомнил опять разговоры о разработке игр под iPhone. Так его и потянуло: "Не заслать ли игру в Apple AppStore? " - и про iPhone припомнил: "Ведь как положенный был! И голос ... про iPhone же говорил".
Вот и пошел Данилушко. Земля тогда уже подмерзать стала, снежок припорашивал. Зашёл Данилушко на сайт Apple.com, да и зарегистрировался как Apple Developer, заплатил 99 баксов. "Отправлю игру свою, - думает - пройдет проверку, а там посмотрим". Сгенерировал провижен ключ, подписал игру и отправил в Эппл. Только и то думает:
"Может, мне это кажется, а на деле моя игра фигня". Сидит - молчит, глядит в монитор. Потом внутренний голос спрашивает:
- Ну, что, Данило-мастер, не вышла твоя игрушка?
- Не вышла, - отвечает. Неинтересная получилась.
- А ты не вешай голову-то! Другую попытай.
- Нет, - отвечает, - не могу больше. Измаялся весь, не выходит. Покажи iPad 3.
- Показать-то, - говорит, - просто, да потом жалеть будешь.
- Не отпустишь?
- Зачем не отпущу! Дорога открыта, да только ко мне же ворочаются.
- Покажи, сделай милость!
Она еще его уговаривала:
- Может, еще попытаешь сам добиться! - Про Петровича тоже помянула:-Он-де тебя пожалел, теперь твой черед его пожалеть.
Про невесту напомнила: - Души в тебе девка не чает, а ты на сторону глядишь.
- Знаю я, - кричит Данилушко, - а только без iPad-a мне жизни нет. Покажи!
- Тогда так, - говорит, - скачай новый iOS SDK 4.2, Данило-мастер, с новой Xcode 4.
Создай новый проект, добавть новую платформу iPad. Её же поставь как активную платформу. Потом скомпилируй и запусти в эмуляторе.
- Ну, Данило-мастер, поглядел? - спрашивает голос.
- Не найдешь, - отвечает Данилушко, - платформы, чтобы так-то сделать.
Вечером, в тот день как раз у невесты вечеринка была. Сначала Данилушко веселым себя показывал - песни пел, плясал, а потом и затуманился. Невеста даже испугалась:
- Что с тобой? Ровно на похоронах ты!
А он и говорит:
- Голову разломило. В глазах черное с зеленым да красным. Света не вижу.
На этом вечеринка и кончилась. По обряду невеста с подружками провожать жениха пошла. А много ли дороги, коли через дом либо через два жили. Вот Катенька и говорит:
- Пойдемте, девушки, кругом. По нашей улице до конца дойдем, а по Еланской воротимся.
Про себя думает: "Пообдует Данилушку ветром, - не лучше ли ему станет".
А подружкам что... Рады-радехоньки.
- И то, - кричат, - проводить надо. Шибко он близко живет - провожальную песню ему по-доброму вовсе не певали.
Ночь-то тихая была, и снежок падал. Самое для разгулки время. Вот они и пошли. Жених с невестой попереду, а подружки невестины с холостяжником, который на вечеринке был, поотстали маленько. Завели девки эту песню провожальную. А она протяжно да жалобно поется, чисто по покойнику. Катенька видит - вовсе ни к чему это: "И без того Данилушко у меня невеселый, а они еще причитанье петь придумали".
Старается отвести Данилушку на другие думки. Он разговорился было, да только скоро опять запечалился. Подружки Катенькины тем временем провожальную кончили, за веселые принялись. Смех у них да беготня, а Данилушко идет, голову повесил. Сколь Катенька ни старается, не может развеселить. Так и до дому дошли. Подружки с холостяжником стали расходиться - кому куда, а Данилушко уж без обряду невесту свою проводил и домой пошел.
Петровичъ давно спал. Данилушко потихоньку включил компьютер, запустил свою игру и демки и стоит, оглядывает их. В это время Петровича кашлем бить стало. Так и надрывается. Он, вишь, к тем годам вовсе нездоровый стал. Кашлем-то этим Данилушку как ножом по сердцу резнуло. Всю прежнюю жизнь припомнил. Крепко жаль ему старика стало. А Петровичъ прокашлялся, спрашивает:
- Ты что это с играми-то?
- Да вот гляжу, не пора ли продавать?
- Давно, - говорит, - пора. Зря только место занимают. Лучше все равно не сделаешь.
Ну, поговорили еще маленько, потом Петровичъ опять уснул. И Данилушко лег, только сна ему нет и нет. Поворочался-поворочался, опять поднялся, зажег огонь, поглядел на игры, подошел к Петровичу. Постоял тут над стариком-то, повздыхал...
Потом взял балодку (молоток. ( Ред.) да как ахнет по айФону, - только схрупало. А ту игру,- по директорском-то дизайну, - не пошевелил! Плюнул только в монитор и выбежал. Так с той поры Данилушку и найти не могли.
Кто говорил, что он ума решился, в городе загинул, а кто опять оказывал - в инди-девелоперы подался.
На деле по-другому вышло. Про то дальше сказ будет.
Есть что сказать в ответ? Напиши!