Открытие финала

В Таиланде 17 мая прошла церемония открытия финала ICM ICPC, ежегодного чемпионата мира по программированию среди университетских команд. Событие, строго говоря, дежурное, происходит всегда более или менее одинаково: в присутствии всех участников финала ICPC со сцены произносятся парадные речи организаторов и представителей местной власти, вручаются награды заслуженным людям, плюс песни и пляски народов мира, точнее, народа принимающей соревнования страны.

«Программист любит ходить на дискотеку, чтобы посмотреть мигание лампочек» (с) Эдвард Йордан
«Программист любит ходить на дискотеку, чтобы посмотреть мигание лампочек» (с) Эдвард Йордан

Завтра, 19-го, здесь будут соревноваться 128 команд из 40 стран, всего, если верить организаторам, в соревнованиях ICPC, начиная с региональных отборочных, участвуют 40 тысяч человек.

Кто и как соревнуется на ICPC, и при чём здесь IBM и ACM
Команда, сообщу на всякий случай – это три студента плюс тренер. За пять часов командам предложат решить 10+ задач («problems»), сложность которых, на мой взгляд бывшего программиста, запредельна – смысл задания до зрителей доходит позже, чем первые команды его решают.

При определении победителей учитываются время решения, число попыток, время работы кода и ряд прочих формальных параметров. Предварительная проверка решённой задачи осуществляется без участия судей, автоматически, человек вмешивается в более сложных ситуациях – например, изредка бывает, когда две команды показывают очень близкий результат, медаль дают обеим, увеличив на единицу число призовых мест (их 12 – по три медали разного достоинства). В распоряжении команды один на троих компьютер с установленным компилятором и средой разработки (как правило, Eclipse), бумага+карандаш, калькулятор. Тренеры в зал соревнований не допускаются.

Проводит ICPC Association for Computing Machinery (ACM, объединяет под сотню тысяч IT-специалистов со всего мира), а обеспечивает их проведение – с 1997 года – IBM. Предоставляет оборудование (две фуры с компьютерами разворачиваются в сеть в дни финала), обеспечивает логистику, судейство, приглашает гостей, журналистов в том числе, ведёт icpcnews.comи пр., и пр. – в общем, без IBM ничего бы не было. Вопрос «зачем это надо» журналисты задают бедным айбиэмерам из года в год, IBM терпеливо отвечает, и ответы сводятся, если в вольном переводе, к универсальной формуле «надо, Федя».

Меркантильного интереса у IBM нет, но индустрия так интересно устроена, что ICPC надо поддерживать, иначе просто не поймут. Утилитарная польза для IBM неочевидна, ну, разве что соберут досье на разработчиков, да расскажут по случаю приглашённой журналисткой братии про свои технологии.

Финал ICPC – праздник, одно из тех редких событий, участники которых друг другу рады by default. На финал из университетов часто приезжают причастные к подготовке команды преподаватели и администраторы, иногда – с детьми и жёнами, на сей раз видел даже русского участника, по виду курс третий-четвёртый, вместе с девушкой – едва ли это была член команды, судя по ряду признаков, хотя как знать, всякое бывает. Плюс организаторы из IBM, волонтёры, местные из принимающего университета и вообще, журналисты и пр., народу хватает, в один отель все не поместились.

Но мы отвлеклись, вернёмся к церемонии открытия ICPC и сделаем несколько отрывочных наблюдений над огромным – под тысячу, где ещё такое увидишь – юных и не очень гиков в естественной среде их обитания.

Вице-губернатор Пхукета (местным тоже досталось на предмет организации мероприятия, работы у властей и принимающего университета, а это Prince of Songkla University, в эти дни выше крыши) говорил про «смотрим в будущее» и «прекрасную инфраструктуру», явно намекая, что программировать здесь, в тропиках, одно удовольствие. Ну, не знаю. Русские тут работать смогут едва ли, не выдержат сурового климата. Ни один из знакомых, переехавших в эти широты, трудиться толком либо не смог вообще, либо смог, но очень недолго, от силы полгода, а потом не выдержал и улетел поближе к родным сугробам.

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

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

О национальном величии. Наблюдения на эту тему вполне уместны, присутствие и успехи на ICPC есть важный интегральный показатель уровня развития культуры в стране (доказательство опускаю за очевидностью и недостатком места).

Китай – неизвестно, как ему это удалось, видимо, благодаря тому, что IT заставили время идти быстрее – стремительно наверстывает упущенное и возвращается на привычное (бумага, порох, компас – помните, кто их придумал?) место планетарного технологического гегемона. Да что там, уже наверстал. Столько качественных людей, а они главное сырьё IT-экономики, сколько есть у Китая, нет ни у кого больше. Дело даже не в том, сколько китайских университетов пробились в финал. Почти любой североамериканский университет (университеты из Дакоты не в счёт), приехавший на финал ICPC, держит в команде от одного до (чаще) трёх ребят китайского, канцелярски выражаясь, происхождения. На следующий после открытия день на пресс-конференции представителя IBM попросили объяснить феномен. Представитель объяснить, конечно, попробовал, но «китайцев много, и они умные, а у нас в США по части IT что-то вроде Клондайка, вот и едут» так и не произнёс, а зря, это было бы понятнее, чем «IT привлекательная сфера».

У нас с величием дело обстоит ещё лучше. Не мы ICPC придумали, но мы тут всё равно что бразильцы в футболе. Об этом как-то даже, складывается впечатление, неловко и говорить. Вот чествовали на церемонии открытия ICPC 2016 самых заслуженных тренеров. Критерий – сколько раз тренер вывел команду в финал. Андрей Станкевич (университет ИТМО, Санкт-Петербург) сделал это 15 раз. Есть только ещё один человек с тем же достижением, следующий результат – всего пять раз, втрое меньше. ИТМО со Станкевичем за эти годы шесть раз выиграл абсолютное первенство, стал чемпионом, больше чемпионств нет ни у одного университета. Но это критерий так себе, вспомогательный.

Лучшие тренеры финалов ICPC. Андрей Станкевич в ряду первый слева
Лучшие тренеры финалов ICPC. Андрей Станкевич в ряду первый слева

Ещё мы умеем организовывать финалы ICPC – если не лучше всех, то на высшем уровне (в 2013-м финал прошёл в Санкт-Петербурге, принимающий университет – ИТМО, а в 2014-м в Екатеринбурге, принимающий университет УрФУ). Здесь, в Таиланде, накладки, хотя и мелкие, но были – не крутились слайды презентаций и пр. Исполнительный директор ICPC (профессор Билл Пучер из университета Бэйлора), впрочем, был этим чуть ли не обрадован, ему только дай что-нибудь сымпровизировать.

Среди финалистов – университет, на секундочку, Алеппо.

На представлении команд организаторы испытали непреодолимые трудности с произношением слова “Zaporizhzhya”.

Церемония открытия прошла в Fanta Sea, это местная версия Диснейлэнда. Территорию по случаю закрыли для посетителей, но торговлю сувенирами не остановили. Этот вторник для продавцов вошёл в историю как чёрный: программисты ни в чём таком не нуждаются.

Бедная девушка безуспешно пытается продать местную косметику участникам финала ICPC 2016
Бедная девушка безуспешно пытается продать местную парфюмерию участникам финала ICPC 2016
Стройные ряды программистов
Стройные ряды программистов

Завершилось открытие совместной трапезой участников финала ICPC и причастных. От аналогии с Хогвардсом отделаться решительно невозможно.

В центре лицом к нам Билл Паучер (держит руки у груди). Он здесь Альбус Дамблдор
В центре лицом к нам Билл Паучер (держит руки у груди). Он здесь Альбус Дамблдор

Ну и наконец: мы в этом году не фавориты, победы ждут от китайцев или поляков из Варшавского университета. Что, разумеется, не предрешено.

Пхукет

Фото (с) Андрей Анненков