3500 русскоговорящих программистов из разных стран мира зарегистрировались этой весной на первый отборочный этап Чемпионата по спортивному программированию Russian Code Cup 2013, организованного Mail.ru. Полсотни лучших, успешно прошедшие через отборочное сито промежуточных этапов, встретились 23 сентября в финале. Интересна их мотивация: данный турнир недаром назван спортивным, он сильно напоминает массовые физкультурные соревнования, где главное не победа, а участие — когда, например, тысячи людей выходят на старт пробежек, прекрасно понимая, что попасть даже в первую сотню нереально. Так и в случае с Russian Code Cup: многие участники уже работают в самых известных ИТ-фирмах, причём немало и таких, которые вообще трудятся не программистами! А ведь конкурсные задачки очень сложные, желающие могут с ними познакомиться на сайте russiancodecup.ru (там же выложена и полная видеотрансляция финала). Они требуют не только хороших навыков программирования, дабы код умещался в ограниченном объёме памяти и укладывался во временной лимит (процесс оценки решений автоматизирован), но и сообразительности и неплохого знания математики.
Чемпионат проходил в новом офисе Mail.ru высотой 26 этажей. Сами финалисты располагались на 23-м этаже, а прямая трансляция и различные развлекательные мероприятия проводились в просторных залах на первых этажах. Пока в финале в течение трёх часов сражалось 50 человек из шести стран, перед несколькими сотнями собравшихся болельщиков выступили личности, хорошо известные в мире ИТ. Дмитрий Гришин, сооснователь Mail.ru, поприветствовав собравшихся, напомнил, что половина нового высотного офиса пока пуста, а его компания готова принять ещё полторы тысячи айтишников.
Дмитрий Скляров, которого читатели PC Week/RE помнят по истории 2001 г., когда ФБР пыталось упрятать его в тюрьму за алгоритм, намереваясь создать прецедент по закону Digital Millennium Copyright Act, последнее десятилетие занимается не столько программированием, сколько исследованиями в сфере информационной безопасности. В своём выступлении, рассчитанном, конечно, на специалистов, Дмитрий сделал красивый акцент на том, что сегодня совсем не обязательно изучать каждую строку дисассемблированного кода — надо прежде всего мыслить как программист или хакер, чтобы понять идеологию построения системы. Скляров привёл пример с реверс-инжинирингом программной начинки сетевой аппаратуры известного китайского поставщика, когда удалось вскрыть ключи шифрования, просто мысля логически, без использования технологий грубого перебора.
Выступление Кена Голдберга, профессора Калифорнийского университета в Беркли, одного из ведущих специалистов в сфере робототехники, не стало особой неожиданностью: Mail.ru активно поддерживает соответствующие технологии, а г-н Гришин даже основал профильный фонд Grishin Robotics. Основным посылом выступления Кена стал облачный тренд — чем умнее становятся роботы, тем большие объёмы “сырых” данных они накапливают, и тем большие вычислительные ресурсы им требуются. Например, даже для распознавания и понимания обстановки обычной квартиры нужны мощности, пока существенно превосходящие возможности типового встраиваемого чипа. И вот тут на помощь приходят облака: “сырые” данные хранятся и обрабатываются в публичном облачном хранилище, да и “мозги” выполняют сложные вычисления в реальном времени удалённо. А по мере развития Интернета вещей устройства смогут скачивать нужные “мозги” под конкретную задачу (как в “Матрице” Тринити загружала в себя программу управления вертолётом).
Голдберг привёл такой список основных направлений развития современных роботов: облака, большие данные, открытый код (в частности, ОС ROS) и самообучение (реализованное, например, запуском в тех же облаках фоновых процессов выявления шаблонов в больших данных). Кроме того, роботы скоро научатся обращаться к людям за помощью и подсказкой, и даже появятся call-центры, куда роботы будут звонить в затруднительных ситуациях, а люди-операторы объяснят им непонятные вещи.
Ожидается, что роботы вскоре научатся самостоятельно искать нужную информацию в Сети. Профессор уже организовывал подобный проект, когда робот фотографирует предмет и затем пытается найти аналог в Google, чтобы понять его назначение — но пока сервисы поиска похожих изображений рассчитаны на людей и содержат маловато мета-информации. Что касается массового рынка, то очень интересный тренд — безмозглые роботы, когда разработчику предоставляется дешёвая аппаратная ходовая часть и набор сенсоров и манипуляторов, а в качестве “мозгов” выступает крепящийся к устройству обычный смартфон.
Выступил перед собравшимися и Эдвард Йордон, автор бестселлера “Путь камикадзе”, известный специалист по программной инженерии. К сожалению, это выступление оказалось откровенно слабым: Эдвард лишь мрачно озвучил набор общеизвестных истин, постоянно ссылаясь на закон Мура. Например, в период 2007-2013 гг. мощность гаджетов выросла в 40 раз, но так ли это актуально? Йордон предположил, что будущее за бесплатными маломощными компьютерами и телефонами (к счастью, не предназначенными для игр и развлечений), и даже спрогнозировал появление одноразовых компьютеров.
В дополнение к закону Мура г-н Йордон напомнил закон Вирта: “софт замедляется быстрее, нежели ускоряется железо”. Мощность бортовой ЭВМ космического “Вояджера” в 240 тысяч раз слабее мощности айфона, а программную начинку космолёта создавал 77-летний программист — он был подобран специально под такую работу, потому что отличался особо тщательным подходом к кодированию. В отношении перспектив программной индустрии Йордон высказался не менее пессимистично: код множества современных систем написан весьма и весьма некачественно, а большинство ИТ-корпораций так и не научились правильно управлять проектами. Однако даже простейших рекомендаций по решению этой проблемы Эдвард не привёл.
К этому моменту финал чемпионата завершился, и началось награждение победителей. Третье место занял Дмитрий Джулгаков из Харьковского политехнического университета, представлявший одновременно Украину и США. Вторым стал студент Санкт-Петербургского НИУ ИТМО Геннадий Короткевич из Белоруссии. Чемпионское звание вернул себе москвич Петр Митричев — личность в мире программирования легендарная (кому интересно, поищите в Сети 40 фактов о Митричеве, где его сравнивают с Чаком Норрисом и Вассерманом). Помимо славы и почёта он получил чек на 10 тыс. долл., а призёры — 5 и 3 тыс. долл.
Министр связи и массовых коммуникаций РФ Николай Никифоров поздравил москвича Дмитрия Жукова за самое быстрое решение задачи, оптимистично заявив, что мы делаем профессию программиста популярней, а подобные мероприятия вселяют надежду на то, что в этой отрасли мы будем преуспевать и дальше. Был вручён приз и от представителей СМИ — Павлу Кунявскому из Санкт-Петербурга в номинации “Краткость — сестра т.”. К сожалению, официально никак не была отмечена единственная представительница женского пола на чемпионате, принимающая участие в Russian Code Cup уже не в первый раз — Наталья Бондаренко из Саратова, выступившая очень достойно и занявшая 21-е место.