zholnin's blog

By zholnin, 10 years ago, In Russian

Так как я недавное решил переключится на C++ для использования в соревнованиях, хотелось бы сказать пару слов на эту тему:

  • "скриптовые" языки, к которым принадлежит Python, сейчас очень активно используются при разработке приложений для Web. Никто не отбирает лавры самого крутого языка для выжимания максимум из железа у C/C++, но, в то же время, говорить, что языки типа Python, Ruby, PHP и прочих — это такое развлечение для тех, кто на самом деле программировать не умеет — тоже неправильно. А это именно то сообщение, котороые посылают контесты, где с этими языками расситывать не на что.

  • Конкретно о Russian Code Cup — проводится под эгидой Mail.ru. Представители Mail.ru, скажите мне, в этой компании всё, что разрабатывается пишется только на Java и C++? или ещё что-то используется? Кажется несколько странным, что в России программируют только на этих двух языках (если не это имелось в виду, то почему название — Russian Code Cup, а не Russian C++ and Java Code Cup ?)

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

  • разница между языками типа C++ и Python большая, но ... константа. Насколько оправданы те лимиты, которые устаналиваются для программ на C++? Конкретно для Russian Code Cup, задачка про трёхцветные шахматы — максимальный размер доски — 14*50. При таком размере хорошее решение на С++ требует 0.4 секунды, хорошее решение на Python — 11 секунд. Если убавить размер до 12*50, Python начнёт умещаться в 2 секунды. Существуют ли какие-то "неправильные", brute force решения на C++, которые могут покрыть поле в 12*50 за две секунды? Сомневаюсь. Обычно в соревнованиях идёт речь о экспоненциальной или как минимум в несколько степеней разнице между правильным и неправильным решением. В такой ситуации разница между Python и C++ не принципиальна.

В общем, не хочу разводить "Питон срач", но просто хотелось выговориться. Думаю, что роль скриптовых языков будет постепенно расти, а системных — оставаться на одном уровне, так что в какой-то момент надо будет принимать решение о том, как сделать соревнования доступными для всех. В соревнованиях, где не важна чистая скорость исполнения — типа того же Google Code Jam, Python уже потихоньку приближается к Java в схватке за второе место по использованию.

Если у кого-нибудь есть мысли по этому поводу — приглашаю к вежливому диалогу.

  • Vote: I like it
  • -20
  • Vote: I do not like it