Зачем нам чемпионы по программированию?
Олимпиады школьников по математике проходят в нашей стране с 1934 года, когда в Ленинграде состоялась первая из них
. Для многих школьников, особенно победителей олимпиад высокого уровня, участие в этих состязаниях определило выбор профессии.Начиная с 1988 года ежегодно проводится Всесоюзная (в настоящее время - Всероссийская) олимпиада школьников по информатике, а с 2000 года - Всероссийская командная олимпиада школьников по программированию.
Подробнее об этих и других олимпиадах см. врезку. Успехи российских команд на таких соревнованиях - выдающиеся
.Четырежды команды российских университетов были чемпионами мира и не раз занимали другие призовые места. Эти успехи были неоднократно отмечены на государственном уровне (is.ifmo.ru/belletristic/medved).
Если достижения наших соотечественников на школьных олимпиадах практически ни у кого не вызывают раздражения, как говорится, "чем бы дитя ни тешилось, лишь бы не плакало", то после побед на студенческих чемпионатах все чаще приходится слышать отрицательные мнения об этих соревнованиях, принижающие важность этих успехов. Одни считают, что это соревнования в области решения головоломок студентами младших курсов, другие - что это "потемкинские деревни", создаваемые несколькими вундеркиндами, при плохом состоянии образования в нашей стране, и т. д.
В чем причина таких оценок? Возможны три варианта. Первый - у каждого может быть своя точка зрения (и тогда спорить бесполезно). Второй - зависть коллег по "цеху", которым не удается добиться успехов в этих соревнованиях. Третий вариант - непонимание сути дела. Применительно к последнему случаю изложу свою позицию.
1. Решение задач на олимпиадах по программированию основано на хорошем знании алгоритмов для задач дискретной математики и других разделов математики (например, геометрии). Люди, которые могут в составе команды из трех человек за пять часов на тренировке решить семь задач, а затем (после часового перерыва) за то же время еще восемь задач, участвуя в интернет-соревновании с сильнейшими командами мира, - несомненно, обладают незаурядными способностями. Понаблюдав однажды за такими соревнованиями, я понял, что эти высококвалифицированные специалисты должны называться не "программистами", а "решателями задач", так как они никогда не будут писать программы по чужим алгоритмам. Природные способности, хорошее образование (включая фундаментальную составляющую) и упорные многолетние тренировки позволяют им не бояться задач в новых для себя областях, быстро ориентироваться в них и практически всегда успешно их решать.
2. Существует очень мало видов человеческой деятельности, в которых представители России побеждают на мировом уровне. Поэтому каждая такая победа (при наличии соответствующей информации о ней) повышает оптимизм в обществе, что особенно важно для воспитания молодежи и привлечения ее в нашу профессию. Первые крупные успехи российских студентов из СПбГУ и СПбГУ ИТМО в финалах чемпионата мира по программированию пришлись на 1998, 1999 и 2000 годы, когда "в активе" России были дефолт 1998 года, нефть по 10 долларов за баррель и страна на грани развала. В этих "замечательных" имиджевых условиях первые российские компании-разработчики ПО начали свой поход на мировой рынок. И в то время студенческие победы на чемпионатах были весьма существенным и чуть ли не единственным аргументом в переговорах с зарубежными заказчиками.
3. Первые двадцать лет на студенческих чемпионатах мира по программированию побеждали в основном команды американских университетов - и это всегда отмечали ведущие американские газеты. В последние годы "праздник на американской улице" кончился - на одном из последних чемпионатов лучшая команда из США заняла двадцать пятое место. Победителями же стали команды университетов России, Польши и Китая.
4. Программирование - одна из немногих профессиональных областей, где еще со времен СССР нет сомнений в том, что подготовка наших специалистов ведется на мировом уровне. Но только успехи на студенческих чемпионатах мира, за результатами которых следят крупнейшие компьютерные фирмы, привели к тому, что практически все эти фирмы открыли в России центры разработки программного обеспечения. Программирование - одна из немногих массовых отраслей, где мы способны создавать высокотехнологичную и конкурентоспособную продукцию мирового уровня.