programmer Petr и все-все-все…

(Октябрь 2012)

Мировая звезда в искусстве и спорте алгоритмического программирования, россиянин Петр Митричев, среди коллег известен под кратким ником Petr. В куда более широком сообществе социальных сетей, вроде ЖЖ или Мой Круг, ему фактически само собой, безо всякого блата досталось знаковое имя programmer.

Из двух этих сетевых имен складывается и подходящее название для рассказа «про программиста Петра на фоне страны и эпохи».

Petr_Mitrichev

Другой – куда более знаменитый в стране и мире – блоггер Живого Журнала под ником borisakunin, одну из своих недавних августовских записей посвятил годовщине путча и бесславного конца ГКЧП.

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

«Неужели правда? Неужели девяносто процентов уверены, что стадное, постыдное советское существование было лучше?» – в тоске вопрошает знаменитый блоггер.

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

Потому что еще в XVII веке один из самых выдающихся французских мыслителей, гениальный математик и философ Блез Паскаль, с присущей ему проницательностью как-то отметил, что если Франция вдруг лишится 300 своих лучших умов, то она превратится в нацию идиотов.

Легко сообразить, что даже в те далекие времена 300 умнейших человек составляли куда меньше 1% от общего населения французской державы…

Случилось так, что Паскаль – но только уже не великий француз, а названный в его честь язык программирования Pascal – сыграл основополагающую роль в выборе жизненного пути для совсем еще юного Пети Митричева в середине 1990-х годов.

Тех самых девяностых, что освободили – казалось – страну от дряхлой, импотентной и насквозь прогнившей власти, суля замечательные исторические перспективы для нашего безмерно богатого талантами и ресурсами народа.

Что из всего этого получилось на деле, увы, мы имеем возможность лично ощущать вот уже третий десяток лет. А молодые россияне, которым сегодня по 20-25, живут во всем этом, можно сказать, всю свою жизнь. Включая и нашего главного героя, пришедшего в этом мир в марте 1985 – фактически одновременно с появлением у руля государственной власти М.С. Горбачева.

В 1996, когда россияне жили уже в абсолютно другой стране, где вовсю рулили и пилили совершенно другие люди, пятикласснику Пете Митричеву попала в руки замечательная книжка «Турбо Паскаль 5.0» Валерия Васильевича Фаронова.

Благодаря ей программирование зацепило мальчика тут же и навсегда. Хотя цифры 5.0 в названии книги означали, конечно же, очередную версию мощного и в ту пору очень популярного у компьютерщиков языка, а вовсе не пособие для малолетних школьников пятого класса, забавные нумерологические совпадения будут сопровождать Петра и впоследствии.

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

Благодаря счастливому стечению обстоятельств и мудрому участию взрослых наставников, совсем еще юный, но уже очевидно талантливый мальчик за один 1997 год попал сначала на окружную, потом на городскую Московскую, а затем и на Всероссийскую олимпиады по информатике, где обычно состязаются старшеклассники.

И – удачно решив там всего одну задачу – сумел занять на общенациональном состязании далеко не последнее 57-е место. (Тут будет к месту, наверное, упомянуть, что вскоре Митричев перейдет учиться в знаменитую 57-ю школу – одну из наиболее известных кузниц подрастающих физико-математических кадров в столице.)

Так что настоящая история нашего программиста-чемпиона началась, безусловно, в 1997. Хотя и далеко еще не победитель, но как самый молодой участник столь престижных соревнований, Петр получил тогда в награду от организаторов свой первый персональный компьютер.

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

Традиции математических олимпиад (и близко родственных им олимпиад по программированию), очень сильные в нашей стране еще со времен СССР, в сочетании со взрывным ростом интернета в 1990-годы, к началу нового века и тысячелетия дали примечательный результат – безоговорочное доминирование российских программистов на международных соревнованиях.

Чтобы наглядно это увидеть, достаточно рассмотреть, к примеру, историю побед на одном из самых престижных командных состязаний подобного рода – ACM/ICPC, или Международной студенческой олимпиады по программированию (International Collegiate Programming Contest).

Если вплоть до 1999 года в этом чемпионате убедительно доминировали университеты США, лишь иногда теснимые студентами из Канады, Австралии, Германии или Чехии, то начиная с 2000 года картина победителей изменилась самым радикальным образом.

За период с 2000 по 2012 годы российские программисты становились чемпионами семь раз (все прочие годы побеждали также очень сильные ныне школы Китая и Польши). При этом абсолютным рекордсменом, в 2012 году завоевавшим чемпионский титул уже в четвертый – беспрецедентный – раз, стал питерский Университет инфотехнологий, механики и оптики.

Для условий ICPC это крайне необычно, потому что здесь одни и те же программисты допускаются до финала максимум два раза.

Попутно следует подчеркнуть, что среди главных финалистов ICPC ныне стабильно фигурируют и многие другие российские ВУЗы – не только Москвы и Санкт-Петербурга, но также Саратова, Барнаула, Ижевска, Перми и других городов.

Возвращаясь к чемпионской биографии Петра Митричева, кстати, можно упомянуть, что он – уже как студент мехмата и участник команды МГУ – доходил до золотого финала ICPC дважды. Однако выиграть столь престижный титул чемпиона их команде так и не удалось.

Примерно с той поры – так уж получилось – во всех, даже командных соревнованиях, типа Открытого Кубка России, Митричев стал предпочитать выступления в одиночку (нередко побеждая и в качестве такой «команды»).

Что же касается сугубо индивидуальных состязаний среди сильнейших программистов планеты, то на сегодняшний день главным соревнованием такого рода – по целому ряду причин – принято считать TopCoder Open, неофициальный чемпионат мира по программированию среди профессионалов. Среди длинного списка побед Петра Митричева, конечно же, есть титул чемпиона и в этих состязаниях.

Однако куда более важной, пожалуй, особенностью TopCoder являются не столько драматичные ежегодные финалы, собирающие в одном зале самых-самых лучших в мире профи спортивного программирования, сколько постоянно идущие онлайновые состязания – еженедельные конкурсы и «однокруговые отборочные матчи» (SRM).

По итогам всех этих соревнований для участников автоматически выстраивается – подобно рейтингу шахматистов – рейтинговый список «топ-кодеров». И поскольку среди зарегистрированных пользователей сайта http://www.topcoder.com ныне насчитывается уже без малого полмиллиона программистов со всех уголков планеты, есть веские основания считать, что именно здесь – на вершине списка – собрана вся мировая элита в искусстве программирования.

Так вот, рассматривая первые 20 строк этого рейтинга (по состоянию на 1 сентября 2012), несложно углядеть, что и здесь – на пяти позициях – заметно доминируют россияне. Петя Митричев, естественно, тоже тут, в первой тройке.

Если же без оглядки на политиков наивно полагать, что русские, украинцы и белоруссы – это все равно по-прежнему один народ (поделенный на государства чьими-то властными амбициями), то «наших» там, считай, почти что половина.

Самое же главное тут вот что. Нередко можно услышать, что программисты из элиты TopCoder (где уже практически не осталось граждан США) – это по сути готовые высококлассные кадры для ведущих американских ИТ-корпораций (где им будут платить, понятное дело, самые заманчивые зарплаты).

Наверняка в этом наблюдении содержится немалая доля правды. Тот же Петр Митричев, к слову сказать, после окончания МГУ уже давно является сотрудником корпорации Google.

Но есть тут одно очень важно НО. Работает Петр в московском подразделении Google и вполне решительно настроен оставаться в своей стране и дальше. Потому что, как он выражается, «плохо быть иностранцем постоянно».

И если государство наше явно не в силах найти достойное и адекватное применение таким талантам, то пусть уж лучше так.

С конца 1980-х из России за рубеж утекло и продолжает утекать поныне уже столь гигантское количество лучших мозгов, что мы – по выражению Блеза Паскаля – имеем отчетливые шансы скоро превратиться в нацию идиотов.

Остается лишь одна надежда – на таких, как programmer Petr.