Автор Тема: Куда уходят чемпионы спортивного программирования?  (Прочитано 20093 раз)

DddIzer

  • Гость
Наизнанку? Тык 99,999999999999999999999999999999% софта написано не олимпиадниками... Не?
а причем тут софт.. тут говорится про "суровую алгоритмику" - которую кодерам спускают сверху более умные люди .. и они же следят ,  чтобы кодеры не напортачили..

DddIzer

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

dale

  • Newbie
  • *
  • Сообщений: 5
    • Просмотр профиля
плохо смотрели - самый "неказистый" из опрашиваемых
Цитировать
Алексей Кирковский (ACM ICPC 2002, 2005)

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

Неужели все настолько плохо, что не получилось увидеть здесь обычный стеб?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Неужели все настолько плохо, что не получилось увидеть здесь обычный стеб?
О! Спортивные программисты пожаловали! Привет ;-)
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
плохо смотрели - самый "неказистый" из опрашиваемых
Цитировать
Алексей Кирковский (ACM ICPC 2002, 2005)

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

Неужели все настолько плохо, что не получилось увидеть здесь обычный стеб?
почему ... Неужели все настолько плохо, что не получилось увидеть здесь ДВОЙНОЙ стеб?

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
DIzer, ну что же вы не заметили... тут ТРОЙНОЙ стеб!

DddIzer

  • Гость
DIzer, ну что же вы не заметили... тут ТРОЙНОЙ стеб!
каюсь - НЕТ  ;)

dale

  • Newbie
  • *
  • Сообщений: 5
    • Просмотр профиля
почему ... Неужели все настолько плохо, что не получилось увидеть здесь ДВОЙНОЙ стеб?

Действительно, чего это я, слишком по диагонали читал, извините.  :) Ну раз уж я сюда зашел, если по сути этой вот статьи могу что-нибудь пояснить/дополнить, то говорите.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
почему ... Неужели все настолько плохо, что не получилось увидеть здесь ДВОЙНОЙ стеб?

Действительно, чего это я, слишком по диагонали читал, извините.  :) Ну раз уж я сюда зашел, если по сути этой вот статьи могу что-нибудь пояснить/дополнить, то говорите.
Ну, для начала, как ты нас вообще нашел? :-)
Y = λf.(λx.f (x x)) (λx.f (x x))

dale

  • Newbie
  • *
  • Сообщений: 5
    • Просмотр профиля
Ну, для начала, как ты нас вообще нашел? :-)

Тут вроде бы все просто.. Я немного помогал сделать эту статью, так что стало интересно, пошла ли она куда-нибудь дальше dev.by, вбил в гугл название и нашел это обсуждение.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Ну, для начала, как ты нас вообще нашел? :-)

Тут вроде бы все просто.. Я немного помогал сделать эту статью, так что стало интересно, пошла ли она куда-нибудь дальше dev.by, вбил в гугл название и нашел это обсуждение.

Гм. Надо же, мы находимся через гугл. :-)

Ну, собственно интересно какая позиция из нашего обсуждения ближе к суровой действительности спортсмена в продакшине и вообще выборе жизненно-профессионального пути.
Y = λf.(λx.f (x x)) (λx.f (x x))

dale

  • Newbie
  • *
  • Сообщений: 5
    • Просмотр профиля
Ну, собственно интересно какая позиция из нашего обсуждения ближе к суровой действительности спортсмена в продакшине и вообще выборе жизненно-профессионального пути.

Сразу оговорюсь, что я вряд ли сам могу что-то судить про, скажем так, "суперзвезд". У нас в Беларуси таких было буквально несколько человек, в России куда больше, это довольно уникальные люди, так что оставим их в стороне.
То что человек относительно успешно (будем примерно те же критерии, что и в статье применять) участвовал в алгоритмических соревнованиях обычно говорит о том, что у него развитое абстрактное мышление, хорошая математическая и алгоритмическая подготовка, способность быстро писать код с минимумом ошибок. Я считаю, что это все дает хорошую базу на старте профессиональной деятельности, и потенциально такие ребята сильнее большинства своих сверстников. Но во всем остальном "олимпиадники" такие же люди, как и все, то есть очень разные. Да, мне, например, всегда хотелось побольше каких-то нестандартных алгоритмических задач, мне это интересно, я это умею, и так можно меня использовать (ну или я сам могу себя использовать) с наибольшей эффективностью. Думаю, у многих похожие желания.
Тут еще надо не забывать, что некоторые компании вроде Google, Microsoft, Facebook, Yandex в своих собеседованиях во многом ориентируются на те знания и умения, которые как раз и есть у "спортивных программистов". Поэтому довольно существенный процент "олимпиадников" работает в этих компаниях.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Ну, собственно интересно какая позиция из нашего обсуждения ближе к суровой действительности спортсмена в продакшине и вообще выборе жизненно-профессионального пути.

Сразу оговорюсь, что я вряд ли сам могу что-то судить про, скажем так, "суперзвезд". У нас в Беларуси таких было буквально несколько человек, в России куда больше, это довольно уникальные люди, так что оставим их в стороне.
То что человек относительно успешно (будем примерно те же критерии, что и в статье применять) участвовал в алгоритмических соревнованиях обычно говорит о том, что у него развитое абстрактное мышление, хорошая математическая и алгоритмическая подготовка, способность быстро писать код с минимумом ошибок. Я считаю, что это все дает хорошую базу на старте профессиональной деятельности, и потенциально такие ребята сильнее большинства своих сверстников. Но во всем остальном "олимпиадники" такие же люди, как и все, то есть очень разные. Да, мне, например, всегда хотелось побольше каких-то нестандартных алгоритмических задач, мне это интересно, я это умею, и так можно меня использовать (ну или я сам могу себя использовать) с наибольшей эффективностью. Думаю, у многих похожие желания.
Тут еще надо не забывать, что некоторые компании вроде Google, Microsoft, Facebook, Yandex в своих собеседованиях во многом ориентируются на те знания и умения, которые как раз и есть у "спортивных программистов". Поэтому довольно существенный процент "олимпиадников" работает в этих компаниях.

У меня пара замечаний (по моему опыту общения и работы с олимпиадниками):
1) Олимпиадный код - это код на выборос, который к тому же пишется очень быстро. Поэтому да, он работает быстро, корректно, решает задачу, ошибок (почти)не содержит. Но по форме - это очень часто говнокод. Функция на 1000 строк кода? Да легко! Про комментирование и про именование переменных я вообще молчу. То есть в плане стиля написания программ олимпиаднику придется переучиваться на промышленный стиль. Это конечно проще чем научиться алгоритмике. но также нужно иметь желание научиться промышленному стилю, пром. стиль - это некий сорт бюрократии на самом деле. К этому нужна склонность, ну или хотя бы отсутствие отторжения.

2) Я не знаю, быть может в силу возраста, а может и в силу специфики олимпиадного программирования, но олимпиадники, с кем я работал, отлично решали задачи если их полностью корректно сформулировать. При этом у них был провал в плане принятия самостоятельных решений. То есть если задача не сформулирована до конца, если у нас вместо ясной "олимпиадной" постановки задачи в наличии мутная водичка, то всё, привет, приплыли. Но, повторяюсь, это, быть может, особенность возраста - это были студенты старших курсов.
Y = λf.(λx.f (x x)) (λx.f (x x))

dale

  • Newbie
  • *
  • Сообщений: 5
    • Просмотр профиля
У меня пара замечаний (по моему опыту общения и работы с олимпиадниками):
1) Олимпиадный код - это код на выборос, который к тому же пишется очень быстро. Поэтому да, он работает быстро, корректно, решает задачу, ошибок (почти)не содержит. Но по форме - это очень часто говнокод. Функция на 1000 строк кода? Да легко! Про комментирование и про именование переменных я вообще молчу. То есть в плане стиля написания программ олимпиаднику придется переучиваться на промышленный стиль. Это конечно проще чем научиться алгоритмике. но также нужно иметь желание научиться промышленному стилю, пром. стиль - это некий сорт бюрократии на самом деле. К этому нужна склонность, ну или хотя бы отсутствие отторжения.

2) Я не знаю, быть может в силу возраста, а может и в силу специфики олимпиадного программирования, но олимпиадники, с кем я работал, отлично решали задачи если их полностью корректно сформулировать. При этом у них был провал в плане принятия самостоятельных решений. То есть если задача не сформулирована до конца, если у нас вместо ясной "олимпиадной" постановки задачи в наличии мутная водичка, то всё, привет, приплыли. Но, повторяюсь, это, быть может, особенность возраста - это были студенты старших курсов.

Мне кажется - это все "детские" проблемы. Да, решения олимпиадных задач - это write-only код, да, часто в этих решениях можно найти примеры просто ужасного кода. Но спортивное программирование и программирование "промышленное" - это два разных вида деятельности, они имеют что-то общее, но они разные. Я, например, был на 5 курсе активным участником соревнований и одновременно работал, код естественно был совсем разный. В основном кстати какие-то привычки и code style из продакшена перетекал как раз в олимпиадный код, а не наоборот. Так что это все зависит от конкретного человека, тут, наверное, начинающие работать олимпиадники от других ребят, начинающих работать не сильно отличаются. Единственное, что у олимпиадников могут быть какие-то свои привычки в написании кода, но если "повзрослев" программист не может с легкостью поменять coding style, ну я не знаю тогда :) Не слышал про такие случаи.
« Последнее редактирование: Май 23, 2013, 11:52:34 am от dale »

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Цитата: Дмитрий Соколов-Митрич
"Вы тут че, самые умные?"
Эти русские опять стали чемпионами мира по спортивному программированию

В Питере прошел финал ICPC — крупнейшей мировой студенческой олимпиады по спортивному программированию. Второй раз подряд ее выиграли студенты Санкт-Петербургского университета информа­­ционных технологий, механики и оптики (ИТМО). Всего же в третьем тысячелетии наши команды становились лучшими программистами мира восемь раз (семь раз в Питере, один — в Саратове). Соперники жалуются: эти русские слишком умные, с ними неинтересно. «РР» попытался понять почему.
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…