Петр Митричев |
Мировая звезда в искусстве и спорте алгоритмического программирования, россиянин Петр Митричев, среди коллег известен под кратким ником Petr. В куда более широком сообществе социальных сетей вроде ЖЖ или «Мой Круг» ему фактически само собой, без всякого блата, досталось знаковое имя programmer. Из двух этих сетевых имен складывается и подходящее название для рассказа «про программиста Петра на фоне страны и эпохи». – Другой – куда более знаменитый в стране и мире – блоггер «Живого Журнала» под ником borisakunin одну из своих недавних августовских записей посвятил годовщине путча и бесславного конца ГКЧП. Ужасно расстроенный, он с великой грустью в отметил, что по результатам последнего социологического опроса всего лишь 10 % россиян расценивают августовские события 1991 г. победой демократической революции, а остальные относятся к этому событию отрицательно или безразлично пожимают плечами. «Неужели правда? Неужели 90% уверены, что стадное, постыдное советское существование было лучше?», – в тоске вопрошает писатель.
Однако если посмотреть на эту унылую цифру чуть иначе, то выглядит она, быть может, и не так уж плохо. Потому что еще в 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 гг. российские программисты становились чемпионами 7 раз (в течение всех прочих лет побеждали также очень сильные ныне школы Китая и Польши). При этом абсолютным рекордсменом, завоевавшим в 2012 г. чемпионский титул уже в 4-й раз, что беспрецедентно, стал Санкт-Петербургский государственный университет информационных технологий, механики и оптики (СПБГУ ИТМО). Для условий ICPC это крайне необычно, потому что здесь одни и те же программисты допускаются до финала максимум дважды. Также следует подчеркнуть, что среди главных финалистов ICPC ныне стабильно фигурируют и многие другие российские вузы, причем не только Москвы и Санкт-Петербурга, но и Саратова, Барнаула, Ижевска, Перми и других городов.
Кстати, возвращаясь к чемпионской биографии Петра Митричева, следует упомянуть, что он – уже как студент мехмата и участник команды МГУ – доходил до золотого финала ICPC дважды. Однако выиграть столь престижный титул чемпиона их команде так и не удалось. Примерно с той поры – так уж получилось – во всех, даже в командных соревнованиях типа Открытого кубка России, Митричев предпочитал выступать в одиночку (нередко побеждая и в качестве такой «команды»).
Что же касается сугубо индивидуальных состязаний среди сильнейших программистов планеты, то в настоящее время главным соревнованием такого рода – по целому ряду причин – принято считать TopCoder Open, неофициальный чемпионат мира по программированию среди профессионалов. Среди длинного списка побед Петра Митричева, конечно же, есть титул чемпиона и в этих состязаниях.
Впрочем, куда более важной, пожалуй, особенностью TopCoder являются не столько драматичные ежегодные финалы, собирающие в одном зале самых-самых лучших в мире профи спортивного программирования, сколько постоянно идущие онлайновые состязания – еженедельные конкурсы и «однокруговые отборочные матчи» (SRM). По итогам всех этих соревнований для участников автоматически выстраивается, подобно рейтингу шахматистов, рейтинговый список «топ-кодеров». И поскольку среди зарегистрированных пользователей сайта www.topcoder.com ныне насчитываются уже без малого полмиллиона программистов со всех уголков планеты, есть веские основания считать, что именно здесь – в вершине списка – собрана вся мировая элита в искусстве программирования.
Так вот, рассматривая первые 20 строк этого рейтинга (по состоянию на 1 сентября 2012), несложно увидеть, что и здесь – на пяти позициях – заметно доминируют россияне. Петя Митричев, естественно, тоже тут, в первой тройке. Если же без оглядки на политиков наивно полагать, что русские, украинцы и белоруссы – это по-прежнему один народ (поделенный на государства чьими-то властными амбициями), то «наших» там, считай, почти что половина.
Самое же главное вот что. Нередко можно услышать, что программисты из элиты TopCoder (где уже практически не осталось граждан США) – это, по сути, готовые высококлассные кадры для ведущих американских IT-корпораций (где им будут платить, понятное дело, самые заманчивые зарплаты). Наверняка в таком наблюдении содержится немалая доля правды. Тот же Петр Митричев, к слову, после окончания МГУ уже давно является сотрудником корпорации Google.
Но следует отметить одно очень важное «но». Работает Петр в московском подразделении Google и решительно настроен оставаться в своей стране и дальше. Потому что, как он выражается, «плохо быть иностранцем постоянно».
И если наше государство явно не в силах найти достойное и адекватное применение таким талантам, пусть уж лучше будет так. С конца 1980-х гг. из России за рубеж утекло и продолжает утекать поныне уже столь гигантское количество лучших мозгов, что мы – по выражению Блеза Паскаля – имеем отчетливые шансы скоро превратиться в нацию идиотов.
Остается лишь одна надежда – на таких, как programmer Petr.