1
Общий раздел / Re: Куда уходят чемпионы спортивного программирования?
« : Май 23, 2013, 11:50:56 am »У меня пара замечаний (по моему опыту общения и работы с олимпиадниками):
1) Олимпиадный код - это код на выборос, который к тому же пишется очень быстро. Поэтому да, он работает быстро, корректно, решает задачу, ошибок (почти)не содержит. Но по форме - это очень часто говнокод. Функция на 1000 строк кода? Да легко! Про комментирование и про именование переменных я вообще молчу. То есть в плане стиля написания программ олимпиаднику придется переучиваться на промышленный стиль. Это конечно проще чем научиться алгоритмике. но также нужно иметь желание научиться промышленному стилю, пром. стиль - это некий сорт бюрократии на самом деле. К этому нужна склонность, ну или хотя бы отсутствие отторжения.
2) Я не знаю, быть может в силу возраста, а может и в силу специфики олимпиадного программирования, но олимпиадники, с кем я работал, отлично решали задачи если их полностью корректно сформулировать. При этом у них был провал в плане принятия самостоятельных решений. То есть если задача не сформулирована до конца, если у нас вместо ясной "олимпиадной" постановки задачи в наличии мутная водичка, то всё, привет, приплыли. Но, повторяюсь, это, быть может, особенность возраста - это были студенты старших курсов.
Мне кажется - это все "детские" проблемы. Да, решения олимпиадных задач - это write-only код, да, часто в этих решениях можно найти примеры просто ужасного кода. Но спортивное программирование и программирование "промышленное" - это два разных вида деятельности, они имеют что-то общее, но они разные. Я, например, был на 5 курсе активным участником соревнований и одновременно работал, код естественно был совсем разный. В основном кстати какие-то привычки и code style из продакшена перетекал как раз в олимпиадный код, а не наоборот. Так что это все зависит от конкретного человека, тут, наверное, начинающие работать олимпиадники от других ребят, начинающих работать не сильно отличаются. Единственное, что у олимпиадников могут быть какие-то свои привычки в написании кода, но если "повзрослев" программист не может с легкостью поменять coding style, ну я не знаю тогда
Не слышал про такие случаи.