Yvision.kzYvision.kz
kk
Разное
Разное
399 773 постов41 подписчиков
Всяко-разно
0
05:22, 06 июня 2008

Олимпиады по программированию - они такие разные...

ACM ICPC 2007 World FinalsПролог. Написал я как-то вечерком очередной SRM и подумал, а почему же так мало народу с Казахстана там участвует? Одна из причин - неведенье. С ней разберемся попозже. Ну а сейчас вторая...

Среди многих программистов (и не только) бытует мнение, что соревнования по программированию - совершенно никчемная трата времени.

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

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

Но ведь оба этих момента присутствуют и в соревнованиях по программированию! Ведь участие в олимпиаде или подготовка к ней независимо от результатов позволяет поддерживать в форме то, что никаким спортом не получится, - мышление. Еще Ломоносов говорил: "Математику затем учить следует, что она ум в порядок приводит", а программирование (или информатику, если угодно) можно назвать близким родственником математики. Ну а про состязательный момент даже рассказывать не стоит - достаточно разок поучаствовать в TopCoder SRM и все станет ясно :)

Даже руководители таких крупных компаний и организаций как Google, IBM, NSA, Yandex понимают, что программист, добившийся некоторых успехов на олимпиадах, в большинстве случаев будет ценным сотрудником. Мало того, что они спонсируют эти мероприятия, так еще ходили слухи, что в одну из крупных фирм без собеседования принимают тех, у кого рейтинг на TopCoder выше определенного значения.

Кроме таких очевидно-прагматичных причин, существует еще как минимум одна - это знакомство и общение с лучшими в своей области специалистами. Где еще можно обсудить свои идеи или баги с 20 заинтересованными в этом людьми из разных стран от Китая до ЮАР, кроме как в комнате арены после SRM'а :) ?

Итак, просуммируем вышесказанное. Причины заниматься спортивным программированием:

  1. здоровый сон во время контеста;
  2. развитие алгоритмического и других видов мышления;
  3. соревновательность;
  4. расширение знаний алгоритмов, структур данных, приемов и т.д.;
  5. знакомство с интересными людьми.

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

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

Кросс-пост с моего блога.

0
319
6