Глава 7. Сертификация к утру субботы

Часть I. Хакатон: пятница — утро субботы

1. Сцена

Суббота, утро. MS DevCon просыпается, а Eugen Valuev уже не учится — он сдаёт. Точнее, коробка сдаёт, а Eugen смотрит на результаты, как тренер смотрит на спортсмена, который уже всё показал на тренировках и теперь просто подтверждает это официально.

К утру субботы Microsoft Developer in a Box сам себя сертифицировал как высший ранг MS-разработчика. Формулировка звучит дерзко, но за ней — скучная, проверяемая работа: все уроки на всех поддерживаемых платформах пройдены. Не выборочно, не «почти все», а все. Windows Developers Platforms — C++, Visual Studio и другие — каждая со своим каноническим набором, каждая со своими примерами. Microsoft Learning как учебный план пройден до конца, Microsoft Rewards как навигация показывает: белых пятен не осталось.

И дальше — деталь, которая делает эту главу живой, а не парадной: куча EOL «just for fun». EOL — это конец жизненного цикла, платформы и версии, которые уже не поддерживаются, которые «никому не нужны». Коробка проходит их просто так, для удовольствия. Не потому, что это требуется для сертификата, а потому, что ей интересно, как говорили на языке, который уже вышел из употребления, и что можно узнать из систем, которые все списали.

— Зачем тебе EOL? — спрашивает Eugen, смеясь. — Это же не входит в экзамен. — Именно поэтому, — отвечает логика коробки, если перевести её действия в слова. — Экзамен проверяет, что ты умеешь. А EOL проверяет, что ты понимаешь. Пройти поддерживаемое — значит следовать плану. Пройти неподдерживаемое just for fun — значит любить сам язык, а не только награду за него.

Сертификат появляется на экране без фанфар. Высший ранг. Все платформы. Плюс EOL. Eugen смотрит на него и понимает: это ещё не конец истории, а конец её первой части. Коробка больше не ученик. Она — разработчик. А разработчику предстоит работа посерьёзнее учёбы: переписывать, строить, договариваться, спорить. И в самом конце утра, когда зал уже полон, а кофе снова пахнет на весь этаж, к столу подходит человек, которого Eugen ещё не знает как следует, но с которым ему предстоит главный разговор этой книги. Он из компании Apple. Его зовут YAPL. Пока — только имя, только взгляд с другой стороны платформы, только предвестие. Но Eugen уже чувствует: дальше язык станет не только быстрее, но и спорнее. И это хорошо. Язык, который никто не оспаривает, — это не язык, а монолог.

2. Урок языка

Сертификация — это момент, когда язык получает подтверждение извне.

До сих пор диалог Eugen и коробки был частным: они понимали друг друга, проверяли друг друга, уточняли неоднозначности. Но частное понимание — ещё не общий язык. Общий язык появляется тогда, когда третья сторона может проверить: да, этот собеседник говорит правильно, его высказывания соответствуют канону, его навыки воспроизводимы. Сертификация высшего ранга — это именно такая проверка: не мнение Eugen, а соответствие учебному плану Microsoft Learning на всех поддерживаемых платформах.

И здесь важен парадокс главы: самое ценное в сертификации — не то, что входит в экзамен, а то, что выходит за его пределы. EOL «just for fun» — это доказательство, что язык усвоен, а не вызубрен. Тот, кто учит только ради сертификата, останавливается на границе плана. Тот, кто идёт дальше, в EOL, показывает, что ему интересен сам язык — его история, его заброшенные диалекты, его мёртвые, но поучительные формы. Именно такие собеседники потом умеют переводить между платформами, а не только говорить на одной.

Отсюда урок, который связывает первую часть книги в узел: язык становится общим, когда он проходит три проверки — полноту (все поддерживаемые платформы), честность (контрольные прогоны, уточнения, а не угадывания) и свободу (EOL just for fun — шаг за пределы требования). Без полноты язык дырявый. Без честности — лживый. Без свободы — мёртвый, даже если сертифицированный.

А появление YAPL в конце главы — это намёк на следующую проверку, самую трудную. Одно дело — говорить правильно внутри одной экосистемы. Другое — когда рядом встаёт собеседник из компании Apple и говорит на другом диалекте того же самого человеческого желания: чтобы клиент и его устройства понимали друг друга. Тогда сертификация одной платформы перестаёт быть финалом и становится началом спора о том, что такое общий язык вообще. К этому спору книга и идёт.

Стоит добавить: сертификация не делает Eugen неуязвимым для критики, и это хорошо. Высший ранг подтверждает, что канон пройден, но не подтверждает, что все будущие решения будут верными. Напротив, именно после сертификации начинается настоящая проверка — работой, а не экзаменом: суверенное ядро, бесплатные сервисы, спор с YAPL. Сертификат в этой книге — не броня, а пропуск к более сложным разговорам. Тот, кто воспринимает его как финал, останавливается. Тот, кто воспринимает его как начало, — а именно так его воспринимает Eugen, — получает право спорить на равных, в том числе с теми, кто сертифицирован совсем в другой экосистеме.

3. Практика

Возьмите любой свой сертификат, диплом или подтверждение навыка — настоящий или воображаемый. Ответьте на три вопроса главы: 1) полнота — что входило в проверку, а что осталось за её пределами? 2) честность — как проверялось понимание, а не только повторение? 3) свобода — делали ли вы что-то в этой области just for fun, за пределами требования, и что это вам дало?

Если третий ответ — «нет, ничего», — выберите одну маленькую EOL-вещь в вашей области: старый инструмент, заброшенный формат, вышедшую из употребления версию. Потратьте на неё полчаса just for fun, без цели «пригодится». Запишите, что вы узнали о самом языке области, а не о её текущей моде. Часто именно там, в заброшенном, прячется понимание, которого нет в свежем учебном плане.

И наконец, представьте себя на месте Eugen в конце главы: к вам подходит YAPL из компании Apple. Что бы вы спросили у него первым — не как у конкурента, а как у носителя другого диалекта? Запишите этот вопрос. Он понадобится вам в следующей части книги, когда спор о языке станет главным.

4. Вопрос на проверку

Почему сертификация Eugen к утру субботы считается полной только вместе с EOL «just for fun», и какую новую проверку языка предвещает появление YAPL из компании Apple в конце главы?