Что такое спортивное программирование. Олимпиады по программированию — помогают ли они в реальной работе? Все эти соревнования индивидуальные

Нас часто спрашивают про спортивное программирование. Какой смысл имеют олимпиады? Насколько они важны при работе над реальным проектом? Если важны, то поздно ли начать заниматься данным направлением 11-класснику? Мы, конечно же, передали вопросы экспертам.

Участие в олимпиадах развивает навыки работы в стрессовой ситуации, ну и нехило нагружает мозг. Вообще, за время подготовки к соревнованиям я изучил достаточно большое количество алгоритмов и подходов к решению задач. В промышленной разработке достаточно редко приходится иметь дело со стандартными алгоритмами, по крайней мере, реализовывать их самому практически никогда не надо. Но знание того, что находится под капотом того или иного алгоритма, порой позволяет придумать какой-нибудь нестандартный подход к решению конкретной промышленной проблемы. В любом случае, заниматься олимпиадами стоит безотносительно того, важны эти навыки или нет, это ведь просто интересно 🙂

Начинать заниматься в 11 классе не поздно. Замечательный пример - человек, с которым в прошлом году мы вместе играли финал ACM ICPC. Он активно начал заниматься олимпиадами на 2 (!) курсе и добился очень даже неплохих результатов.

Повысить Понизить

Многое зависит от того, какой проект. Большинство (95%) проектов связаны с автоматизацией бизнес-процессов, графикой и т.п. В таких проектах олимпиадные навыки практически не играют роли.

Но бывают проекты, в которых требуется решить сложную новую задачу - и тут опыт участия в олимпиадах полезен.

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

Повысить Понизить

Олимпиады - часть мира спортивного программирования. Как и в любом другом спорте, смысл олимпиад, на мой взгляд, в том, чтобы проверять себя на прочность, самосовершенствоваться и получать моральное удовлетворение. Я уверен, что опыт олимпиад полезен в работе, потому что постоянные тренировки делают мозг более гибким и восприимчивым к новым задачам.

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

Повысить Понизить

, технологический евангелист Microsoft, доцент МФТИ, МАИ, преподаватель детского лагеря JUNIO-R

Олимпиады по программированию позволяют хорошо овладеть теоретическими знаниями в области Computer Science, а также они часто помогают поступить в вуз. Однако на практике не для всех задач необходимы полученные на олимпиадах навыки.

Есть такое понятие – overqualification. Если вы будете слишком хорошо владеть теоретическими знаниями Computer Science, то вам будет скучно решать повседневные задачи, и полностью реализовать свой потенциал вы сможете только в крупных компаниях, типа Яндекс, Mail.ru, или тот же Microsoft. Поэтому круг интересных вам работодателей будет несколько уже, но и решаемые задачи будут намного интереснее и глобальнее.

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

11 класс - это немного поздно, поскольку надо слишком много успеть сделать для поступления в вуз, и будет сложно уделять олимпиадам достаточно времени. Но лучше поздно, чем никогда!

Повысить Понизить

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

Повысить Понизить

Отрывок из нашего , Станислав отвечает на вопрос «правда ли, что успехи на олимпиадах по программированию (математике) негативно коррелируют с работой в компании? Много ли у вас в команде олимпиадников?»

Напрямую олимпиады не помогут. Так же, как и знание матанализа не поможет человеку писать программы на Java или Python. Но олимпиадное программирование, если хотите, это как спортивное самбо. Оно не гарантирует успеха в уличных драках, мало того, есть много примеров, когда спортсмены-самбисты были жестоко покалечены именно в уличных драках, потому что там нет правил: там могут ударить ножом и втроем накинуться на одного. Но спортсмен-самбист намного быстрее становится именно бойцом, начав изучать боевое самбо (или другое рукопашное единоборство), чем человек, который с попкорном смотрит в экран монитора. Поэтому относиться к этому нужно ровно так: олимпиадное программирование - это хороший способ улучшить свой уровень. Человеку, который этим занимается, овладеть новой областью компьютерной науки или способом программирования будет легче. Это полезная деятельность, ее не стоит избегать. Если человек профессионально работает в компании, делает продукты, продающиеся широко, это становится как хобби. Человек, который работает в компании, производящий продукты для резервного копирования, наверное, за несколько лет становится профессионалом мирового класса в этой области. И олимпиадное программирование, если он начнет в нём участвовать, вряд ли ему сильно поможет, чтобы он стал на голову выше своих коллег. Но это полезное хобби, которое развивает нужные навыки.

А вообще, удивительно, как люди отказываются учиться. Когда я был молодым, пропаганда была очень мощная: надо учиться, это полезно, знание - сила, невежество - тьма. Не понимаю, почему у ваших ребят могут возникать такие вопросы. Знания не бывают лишними. В конечном итоге жизнь устроена так, что если человек понимает что-то очень-очень глубоко, ему легче увидеть, как работает какая-то совершенно, казалось бы, несвязанная с ним область. Всё, что мы делаем, в конечном итоге похоже. Так, я пребывал в иллюзии по поводу строителей, пока не стал делать свой первый ремонт. Первый и последний. Я обнаружил, что работа строителей в квартире очень похожа на работу коллектива программистов. И мало того, что все те проблемы, с которыми мы сталкиваемся, у строителей стоят в полный рост. И там еще хуже. Потому что средний уровень строителя ниже среднего уровня программиста, с точки зрения образования и общей толковости. Они так же ошибаются, у них есть баги, бывают как хорошие, так и плохие проектные менеджеры. Если плохой – могут, образно, и унитаз на потолок прикрутить, а потом делать вид, что так и было. Поэтому знаний избегать не надо. Возможно, конкретно данное знание мне никогда не пригодится, но если я что-то понял, понял почему так, а не иначе, мне оно пригодится хотя бы в виде аналогии.

Повысить Понизить

Вслед за результатами регионального полуфинала чемпионата мира ACM ICPC стали известны итоги Всероссийской олимпиады школьников по программированию. В стенах Университета ИТМО золотые медали вручили ребятам из Алматы, Астаны и Москвы. Петербуржцы поделили «серебро» с коллегами из Тбилиси, а «бронза» досталась ребятам из Екатеринбурга, Ижевска, Кременчуга и Витебска. Тренеры петербургских команд Андрей Лопатин и Андрей Станкевич, тьютор кафедры компьютерных технологий Университета ИТМО Лидия Перовская, декан факультета информационных технологий и программирования Владимир Парфенов и чемпионы мира по программированию разных лет рассказали, почему ребята из СНГ бьют все рекорды последние 15 лет.

Победители ACM ICPC из Университета ИТМО

Пора болеть за программистов

«За программированием будущее: в каждом доме есть огромное количество программируемых устройств, и эти технологии продолжают проникать во все сферы нашей жизни. Точно так же, как инженеры в Советском Союзе, программисты находятся сейчас на острие науки и техники. Соревнования по программированию становятся все более популярным и зрелищным видом спорта, и будущее у него очень многообещающее», — подчеркивает Андрей Станкевич .

Лидия Перовская, как опытный организатор олимпиад разных уровней, согласна с коллегой. По ее словам, соревнования по программированию имеют более сложную структуру, чем привычные состязания. В финалах чаще всего борются команды из трех человек, а самих команд при этом может быть больше сотни. Как уверена тьютор кафедры компьютерных технологий, в спортивном программировании есть место и болельщикам: человек, разбирающийся в программировании, может болеть за команду, которая ему ближе по университету, уровню знаний или стратегии/яркости выступления.

Как отмечает тренер команды СПбГУ Андрей Лопатин , соревнования по программированию не только зрелищны, но и по-настоящему полезны. По его наблюдениям, современные чемпионы легко решают задачи, которые еще 10 лет назад казались нерешаемыми. Эффективность и скорость работы команд растет, а код упрощается, и это дает возможность тратить на разработку и отладку программ меньше времени. А это уже выгодно крупным IT-компаниям, которым важно удешевить производственные процессы.


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

Победы от и до

Как замечает Андрей Станкевич , спортивное программирование развивается волнообразно. Стратегий развития команд немало, но порой на результат влияет ключевой игрок. Например, во многом благодаря талантливому студенту Университета ИТМО Геннадию Короткевичу сборная вуза два раза становилась абсолютным чемпионом мира ACM ICPC. Однако лавры достаются и тем, кто придерживается долгосрочной стратегии, когда одна команда долгие годы оттачивает навыки и в конце концов заслуженно вырывается в топ — так команда СПбГУ стала абсолютным чемпионом ACM ICPC-2016. Поэтому нет ничего удивительного, когда какая-то из команд или кто-то из игроков уступают место в топе другим: это значит, что кто-то вырвался вперед благодаря долгому и упорному труду.


Если говорить в общих чертах, подготовка ребят состоит из тренировочных соревнований, когда участники решают задачи турниров прошлых лет, а также из теории — лекций, разборов задач и прочих порой рутинных вещей. Как добавляет Геннадий Короткевич, немалую роль в становлении программистов с университетским образованием играют и сборы, когда команды из разных городов постсоветского пространства могут объединиться и помогать друг другу совершенствоваться.

«В этом виде спорта очень большую роль играет коммуникация между людьми. Команды из стран СНГ успешны, потому что разные вузы собираются вместе, фактически под одной крышей, общаются и совместно занимаются любимым делом. Сборы по-настоящему развивают, дают тебе шанс проявить себя, посмотреть на задачу по-новому» , — уверен чемпион.

Как подчеркивает директор Центра развития IT-образования московского Физтеха Алексей Малеев, тем, кто хочет проявить себя в спортивном программировании, необходимо осознавать, что его ждут 4−5 лет настоящей пахоты. И при этом никто не может гарантировать, что через пять лет ты войдешь хотя бы в десятку ACM ICPC. Но эта тяжелая работа вкупе с сотрудничеством вузов позволяет выпускникам из России и стран СНГ выйти на глобальный рынок образования с реальным козырем. И именно поэтому российская школа программистов пользуется спросом во всем мире, уверен представитель МФТИ.

С тем, что спортивное программирование приносит пользу вузам, согласен и чемпион ACM ICPC Нияз Нигматуллин . По словам опытного участника международных контестов, по тому, как команда вуза проявляет себя в чемпионатах, можно быстро понять, чему тебя смогут научить в их альма-матер. При этом нужно понимать, что спортивное программирование — это вовсе не то, чем занимаются сотни студентов, ведь путь спортивного программиста выбирают и проходят единицы, отмечает Нияз.


Экономический вопрос

«Сейчас вопрос с актуальностью спортивного программирования перешел в чисто экономический аспект. Все дело в том, что мы с вами находимся в некой критической точке, когда недолго осталось до нового витка развития информационных технологий. Это мир, в котором мы все скоро окажемся: полностью изменится банковская система, медицина, появятся беспилотные автомобили, не говоря уже о том, что многие профессии просто исчезнут — люди потеряют работу. Зато у программистов ее будет по-настоящему много. И это мы видим уже сейчас: спрос на них таков, что зарплаты физиков и математиков даже в США в два раза ниже, чем у программистов. И те страны, которые сейчас обладают высококвалифицированными кадрами в сфере IT, совершат рывок в ближайшие 10−20 лет» , — уверен Владимир Парфенов.

Именно поэтому нужны олимпиады. Чтобы выявлять лучших из лучших, талантов и тех, кто просто любит программирование и нуждается в поддержке, уверен Владимир Парфенов. Кроме того, талантливые дети — тот самый будущий актив — горят желанием соревноваться и проявлять себя с малых лет. Таких ребят, которые скоро изменят мир, в одной России 3 тысячи на 140 миллионов, и самое главное — увидеть тех, кто может составить им компанию. Ведь остальной мир не стоит на месте, добавляет декан факультета информационных технологий и программирования — за последние 15 лет колоссальный рывок уже сделал Китай, а США остаются на коне из-за развитой инфраструктуры.

«Наш современный программист начинает работать сразу на четвертом курсе, если не идет в науку, где, увы, зарплата пока меньше. При этом ему поступает масса предложений от работодателей. Конечно, если мы говорим о Петербурге, наши 400−500 IT-компаний стараются создавать что-то новое, и в них стоит идти. Нередко те, кто начинает работать в крупных компаниях вроде Google, возвращаются на родину, иногда с жалобами. Ведь одно дело, когда вы сидите в красивом городе Санкт-Петербурге, и совсем другое, когда находитесь в деревне под названием Кремниевая долина…» , — смеется преподаватель.


Допинг

Несмотря на бесконечные вопросы о допинге, молодые чемпионы по-прежнему отмечают, что в спортивном программировании главное, чтобы хорошо работала голова. Так, например, чемпион мира 2016 года Станислав Ершов признается, что любит хорошо высыпаться в дни соревнований, а также есть сладости. При этом молодой человек отмечает, что не мечтает о повышенном внимании прессы и славе — как и люди науки, он предпочитает оставаться в стороне от шумихи. Не особо верит в допинг и призер множества соревнований Геннадий Короткевич, который один из немногих в мире способен зарабатывать на жизнь спортивным программированием. По словам Геннадия, было бы здорово, если бы когда-нибудь появились профессиональные рекомендации для спортсменов-программистов — по режиму или питанию. В целом же, молодые люди не отрицают, что в будущем может появиться настоящий допинг для мозговой активности посерьезнее шоколада, однако они в нем не нуждаются.

Это уже очень старый холивар: годятся ли спортивные программисты для суровой прикладной разработки, или же они эдакие прекрасные белые птицы, витающие в математико-алгоритмических облаках и гибнущие в более приземленных условиях? Существует расхожий миф, гласящий, что все спортивные программисты уходят в Google или, как минимум, в Яндекс, где вдохновенно трудятся над поисковыми алгоритмами и иже с ними. Простой белорусский аутсорсинг не для них. Возможно, если не точку, то хотя бы знак препинания в этой битве мнений могут поставить факты. Мы собрали информацию о всех спортивных программистах в нашей стране и, оперируя тремя критериями:

  • участвовал в финале ACM ICPC;
  • выступал от белорусского университета;
  • уже закончил обучение в вузе;

сделали выборку. Получился список из двадцати одного финалиста АСМ ICPC от Беларуси. Нам удалось связаться с большинством из них и задать три простых вопроса:

  1. Какое ваше текущее место работы и какова позиция/суть выполняемой работы?
  2. Почему именно эта компания/занятие?
  3. Какие планы на будущее, каким его для себя видите? Куда хотелось бы двигаться?

Кто из них выбрал управленческую карьеру, кто остался верен спортивному программированию, а кто все-таки разрабатывает поисковые алгоритмы, вы узнаете из «прямой речи» белорусских финалистов АСМ ICPC.

Иван Михневич (ACM ICPC 2000)

  1. Wargaming Public Company Limited, Director.
  2. Это результат роста в группе компаний с самого начала трудовой карьеры.
  3. Реально уже все это надоело и пора начинать новую карьеру, на новом месте, в новой области (скорее всего, не ИТ).

Сергей Степанцов (ACM ICPC 2000)

  1. В настоящее время я работаю в должности Vice President Business Development в компании Intetics Co.
  2. Большая часть моей карьеры связана именно с этой компанией, здесь я успел попробовать себя в самых разных ролях: начал как специалист по тестированию, а также поработал программистом, руководителем проектов, руководителем производственного подразделения. И в итоге пришел к специализации в развитии бизнеса.
  3. Всё еще не чувствую себя старым настолько, чтобы перестать саморазвиваться:). Думаю, что будущее деловой части моей жизни еще порадует множеством увлекательных поворотов.

Владимир Танкович (ACM ICPC 2000, 2003)

  1. Сейчас в Microsoft занимаюсь алгоритмами Computer Vision для Kinecta. До этого был в search relevance.
  2. В этой компании с 2005. Они меня привезли из РБ, и переходить пока смысла не было. В эту команду перешел потому, что она позволяет заниматься научной работой, которая идет не в сборник статей, а в готовый продукт.
  3. На будущее конкретных планов нет. В ИТ деньги не проблема и в Минске, и тут. Пока что мне очень интересно разбираться с Machine Learning и AI. Тут получается, что я занимаюсь почти все время чем хочу, а мне за это еще и хорошо платят. То есть ближайшие 1—2 года я буду заниматься тем же, а дальше посмотрим. Опыта получаю много и, если будет идея, как его надежно применить, то попробую стартап.

Алексей Кирковский (ACM ICPC 2002, 2005)

  1. НТ ООО «ЛюксСофт», инженер-программист 2-й категории.
  2. Очень хотелось пойти в известный московский бодишоп ЛюкСофт (Luxoft), так как с детства мечтал заняться автоматизацией люков, но не заметил одну букву и попал в белорусский ЛюксСофт (LuxSoft). Там не глядя подписал какие-то бумажки, и теперь вот работаю по 20-летнему контракту на фиксированную зарплату в белорусских рублях, которой хватает только на бензин.
  3. Планирую выполнить норматив по количеству строк в минуту и стать инженер-программистом 1-й категории. Затем получить КМС по программированию, который мне тут присвоят, если не будет ни одного опоздания на работу за весь срок действия контракта.

Алексей Данченко (ACM ICPC 2002, 2005)

  1. НТ ООО «ЛюксСофт». Инженер-программист. В последнее время занимаюсь разработкой предметно-ориентированного языка программирования для нашего продукта.
  2. Возможность поработать с друзьями над реализацией интересной идеи.
  3. Продолжать получать удовольствие от жизни.

Евгений Гончар (ACM ICPC 2003)

  1. Google Switzerland (Zurich), Senior Software Engineer. Работаю на одном из проектов инфраструктуры веб-поиска.
  2. С детства любил программировать.
  3. Хотелось бы продвинуться в игре на электрогитаре и еще раз съездить в Новую Зеландию.

Иван Метельский (ACM ICPC 2003, 2004)

  1. TopCoder, Inc., Marathon/Algorithm Problem Coordinator. Запуск Marathon и Algorithm Competitions на TopCoder.
  2. В каком-то смысле просто так вышло. Если более серьезно — хороший доход, относительно интересная работа, сложно найти лучшую альтернативу.
  3. Планы на будущее — не сильно важно куда, но куда-то в сторону несколько меньшей занятости и большей свободы действий. Возможно, какой-то свой бизнес, совершенно не обязательно в ИТ.

Виктория Лебедь (ACM ICPC 2004)

  1. Я была и осталась математиком. В команде была единственным человеком, не прикасавшимся к компьютеру:) Выполняла всю «побочную» работу. Живу и работаю в Париже. Сейчас у меня временная позиция в университете Paris 7 — научная деятельность и преподавание. Недавно получила PhD.
  2. Это занятие потому, что оно даёт редкую возможность сохранить личную и творческую свободу.
  3. Планов на будущее стараюсь особо не строить. Опять же, чтобы не ограничивать себя какими- то рамками и не подставлять себя самолично под груз ожиданий, надежд и прочего. Я отлично представляю продолжение начатого пути в университетско-научной среде, но не закрываю дверь для иных вариантов.

Максим Осипов (ACM ICPC 2004)

  1. VironIT, директор. Управление бизнесом (преимущественно не операционное, а направленное на изменение процессов продаж, разработки, качества выполнения работ и т. п.)
  2. Компания VironIT, потому что это моя компания, я владелец. Это занятие (неоперационное управление), потому что придумывать, как развиваться бизнесу — самое интересное для меня.
  3. Развивать свою компанию, перейти, в том числе, на продуктовую модель, завести семью, детей. Будущее вижу интересным, непростым, но однозначно позитивным.

Павел Иржавский (ACM ICPC 2007, 2008)

  1. Преподаватель БГУ, математик-программист в «Ориентсофте», преподаватель в ШАД, аспирант (формально это учёба, но по факту ближе к работе).
  2. В каждом занятии есть и интересное, и полезное (помимо того что все они приносят доход:)), и простое, позволяющее немного отдохнуть, и сложное, позволяющее мне развиваться. Мне кажется, я становлюсь в целом менее эффективным, когда начинаю заниматься одним и тем же, грубо говоря, по 8 часов в день, а ежедневная смена рода деятельности позволяет мне быть на пике.
  3. В планах на будущее существенных изменений нету:)

Владимир Керус (ACM ICPC 2007, 2008)

  1. ЕПАМ. Ведущий инженер-программист отдела мобильных разработок. Занимаюсь разработкой приложений под Android.
  2. Люблю изучать новые вещи, и в текущей компании получается безболезненно менять профиль и находить нужных людей-учителей.
  3. Дерево уже посадил, коплю на строительство дома, планирую завести малышей (в идеале — свой состав «Барселоны»).

Сергей Тихон (ACM ICPC 2009)

  1. EPAM Systems, Lead Software Engineer. Архитектор/разработчик специальных проектов.
  2. Дружный, сильный коллектив, интересные задачи, неплохие возможности профессионального роста.
  3. Работа в ИТ, но на границе с наукой, работа по внедрению Data Science в реальные приложения и сервисы (машинное обучение, обработка натурального языка, поисковые технологии, моделирование). Пропаганда, распространение и внедрение функционального программирования (веду блог по F#).

Алексей Лобанов (ACM ICPC 2010)

  1. Компания «Яндекс», разработчик в «Яндекс.Картах». Параллельно с этим учусь в аспирантуре БГУ и работаю ассистентом на кафедре ДМА ФПМИ (веду практические занятия по курсу «Алгоритмы и структуры данных»).
  2. Почему «Яндекс»: здесь есть интересные задачи (в том числе и сложные, наукоемкие, алгоритмические), комфортные условия работы и отличный коллектив. Почему ФПМИ БГУ: считаю, что важно передавать свои знания следующим поколениям студентов.
  3. Планы на будущее: успешно доучиться в аспирантуре и постараться защитить кандидатскую.

Алексей Толстиков (ACM ICPC 2010)

  1. БГУ, ассистент кафедры вычислительной математики, окончил аспирантуру, преподавание курса « Параллельные и распределенные вычисления » (практика). Яндекс, куратор академических программ, руководитель минского филиала Школы анализа данных (+преподаватель в ней), разработчик поиска.
  2. Одним предложением не смогу, но потому что: «Мне это нравится!»
  3. Нечего особо сказать. Двигаюсь во всех этих направлениях.
«В Facebook и Google мы не пойдем»: Почему одни из лучших программистов мира живут и работают в Екатеринбурге

Любопытное интервью с призерами чемпионата мира по программированию из Уральского федерального университета.

Мне вот всегда было интересно понять, почему в России (точнее, вообще на постсоветском пространстве) так популярны соревнования по программированию (наверное, термин, используемый в этой статье, подходит лучше: "спортивное программирование"), притом что на загнивающем Западе я о них долгое время и не знал даже, а когда знал, почему-то совершенно не тянуло. Это как какой-то отдельный мир совершенно. Я много лет активно участвовал в разных программистких сетевых сообществах, например, тусовался на рассылках различных опенсорс-проектов, встречался в реальной жизни с людьми иногда, но никогда при этом не заходила речь о TopCoder"е, скажем. О том, что TopCoder существует, я узнал из русского ЖЖ, по-моему (а узнав о нем, немедленно и срочно не пошел туда, не создал аккаунт и не стал участвовать). Это как-то очень забавно и интересно понять, почему.

Частично эту популярность объясняют некоторые реплики этого интервью, по-моему:

"А почему именно в этот раз УрФУ показал лучший результат? Звезды сошлись?"

Михаил Рубинчик: Команда у нас звездная. Олег, Леша и все остальные очень сильные ребята. Олег сейчас на шестом курсе, начал заниматься на втором, но уже к третьему у него был приличный уровень.[...]

"Тебе что ближе? Стартап? Или большая компания?"

Олег Меркурьев: Я вообще нигде не работал. И в ближайшие полгода работать нигде не собираюсь. Пойду в аспирантуру, наукой надо немного позаниматься, а то я вообще все свое время тратил на спортивное программирование.

Т.е. это действительно воспринимается как спорт, в первую очередь. Включая какие-то дикие ограничения, характерные как раз для спортивных соревнований:

"Давайте поговорим немного про сам чемпионат. Три человека в команде. Один компьютер. Почему один? Почему не три?"

Михаил Рубинчик: Жюри когда-то так решило. Это было тридцать лет назад.

Олег Меркурьев: Тогда, возможно, были еще дополнительные причины, которых сейчас нет. И тогда даже по компьютеру на команду – это было много, а на человека уж совсем.

[...]На ЧМ можно пользоваться принтером. Первый человек сел, написал какое-то решение, оно не заработало. Ему нужно найти ошибку. Читать с компьютера – это дорого, у нас же ресурс один. Поэтому распечатывают на принтере и читают на листочке.

Ну вот я не понимаю, как это может быть настолько привлекательным. Программирование - это созидательная деятельность. Не было программы, и вот она есть. Ты не мог что-то сделать с помощью компьютера, и вот ты можешь. Какая разница, это заняло 20 минут или 40? Это просто какой-то неинтересный аспект.

Нет, я могу себе представить ограничения, которые привносят спортивный азарт - но на уровне нескольких дней и действительно сложных, интересных задач. Типа соревнования Ludum Dare - написать игру за два дня. Или The ICFP Programming Contest , там дают три дня, и условия обычно крышесносные. Сравните это с заданиями ЧМ по спортивному программированию . Если соревноваться на минуты и секунды (еще и с одним компьютером на троих), то задания выходят вот такого рода - хитрое применение нескольких стандартных алгоритмов с какой-нибудь заковыристой "изюминкой".

В общем, странный это какой-то мир. Не обессудьте, те, кто от него тащится. Но не понимал и не понимаю.



Понравилась статья? Поделиться с друзьями: