Блог пользователя thebvog

Автор thebvog, 12 лет назад, По-русски

Прочитав очередную статью про борьбу языков, я испытал чувство любопытства: а что же на CodeForces, на чём люди сабмитят? Думаю, отвлекусь, посмотрю. Запустил скрипт, отпарсил последние четверть миллиона самбитов, увидел результаты... Конечно, это всё субъективно, но я ожидал более мягкой распределённости.

В тройку лидеров как я и ожидал вошли C++, Java и Pascal. Явно бросается глаза количество сабмитов на C++. Немного удивило, что C рядом с C#. Я предполагал, что Java будет несколько ближе, но даже учитывая погрешность, серъёзный разрыв.
И в заключении сего короткого поста, как бы не была велика публика языка, каждый пишет на чём нравится :)

UPD Спасибо San_Sany4, goo.gl_SsAhv и Fefer_Ivan за идеи и предложения. Я отпарсил весь первый дивизион, и получилась довольно похожая картина. Вот статистика по всем сабмитам, однотипные языки объединены.
Распределение внутри групп языков:

С++
  • GNU C++: 77.2%
  • MS C++: 19.9%
  • GNU C++0x: 2.9%
Java:
  • Java 6: 89.5%
  • Java 7: 10.5%
Pascal:
  • FPC: 63%
  • Delphi: 37%


А вот статистика по полным решениям на различных компиляторах и интерпретаторах:

  • Проголосовать: нравится
  • +61
  • Проголосовать: не нравится

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Интересная информация, спасибо!
Хотелось бы что-бы Python работал так же быстро как C++ или хотя бы Java.

Тогда, наверное, народ заинтересуется.

»
12 лет назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

Непонятно, почему разделены почти одинаковые (по крайней мере, в плане СП) Pascal и Delphi, но посчитаны вместе разные версии Java и C++. Я думаю, стоит объединить их на большом графике, и сделать дополнительные: отношение Pascal / Delphi, Java 6 / Java 7 и GNU C++0x / GNU C++ / MS C++. На мой взгляд, будет интересно и достаточно информативно.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    И за что чувака скрыли? По-поему, вполне разумно.

»
12 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

Я предполагал, что Java будет несколько ближе, но даже учитывая погрешность, серъёзный разрыв.

Предлагаю посмотреть в разных дивах. В Div1 я так думаю вообще языков типа Python и PHP не найдётся.

В целом же это всё равно что считать распределение языков в России. За пределами страны достаточно неактуально. Если пойти за статистикой на http://www.hh.ru, то результаты будут ощутимо отличаться. :)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +21 Проголосовать: не нравится

    Думаю в топе первого дивизиона жавы существенно больше. Нельзя сделать статистику по сабмитам, рейтинг авторов которых выше некоторой черты? Не хочу ни кого обидеть, но это имхо даст больше информации по акутальности использования того или иного языка, ведь начинающие или средне-опытные используют C++ именно и из за его распространнености, а не удобства, качества кода, отладки контроля памяти, и т.п. Я на жаве редко пишу, в основном из-за длинки жопной или вещественной, но она имхо больше распространена, чем в приведенном графике хотябы среди команд уровня T50.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Да, там ещё помню есть такой момент (актуальный для некоторых редких языков) — задачу несколько раз сабмитят на Питоне, допустим, а потом сдают на C++.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится

        Большинство сабмитов контеста это задача A,B,C второго дива часть из них также A, B первого, там решения в 20 строк на любом языке можно писать. а мы по этому мусору статистику считаем. ясен пень там 80% C++

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +19 Проголосовать: не нравится

Вообще, кажется, что на С++ просто больше "пихают". Надо парсить не сабмиты, а людей.

По-моему, как-то так:

  1. Распарсить страницу рейтинга http://mirror.codeforces.com/ratings и получить список пользователей.
  2. Для каждого человека распарсить http://mirror.codeforces.com/submissions/имя_пользователя и подсчитать сколько у него сабмитов на каком языке. Сделать +1 языку, которого у этого человека больше.
  3. ???
  4. PROFIT
  • »
    »
    12 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +4 Проголосовать: не нравится

    У меня изначально была мысль, что на С++ много сабмитов, как раз из-за WA. Вполне хорошая идея, совсем забыл про рэйтинг, но допарсить до зелёных или хотя бы синих, уйдет довольно неплохо времени. Ладно, реализую вместе с тем что сказал goo.gl_SsAhv и San_Sany4, и добавлю в пост :)

»
12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Я всегда думал, что на Java пишет больше людей. Лидерство плюсов однозначно и очевидно — на них пишет большинство див 2, да и в див1 думаю немало таких. А вот то, что Паскаль и Java и на первой и на второй диаграмме примерно на 1 уровне, для меня неожиданность (особенно на второй).