Какие страны и языки программирования чаще побеждают в игре для программистов CodeBattle?

    Привет, Хабр!

    В прошлом году мы запустили игру для программистов CodeBattle. Напомню, идея игры очень простая: вам и сопернику дается задача, вы решаете её на выбранном вами языке. Вы видите код соперника в реальном времени, результаты запуска тестов и можете общаться с ним и зрителями в чате. Кто первый решит задачу (удовлетворит тестам) — тот победил.

    С тех пор были сыграны тысячи игр, и мы собрали интересную статистику. По состоянию на 31 декабря 2015 года, какие страны и какие языки программирования чаще побеждали?

    Иными словами, мы наконец можем ответить на вопрос «какой язык круче?» :) Шучу-шучу, давайте не холиварить. Вот статистика за три последних месяца прошлого года:





    Сыграем?

    Инфографика: Наталия Басс
    Hexlet
    0,00
    Практические уроки по программированию
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 52

      +3
      Насколько я помню, изначально java была недоступна.
        +2
        Да, и Erlang.
        Но для показателя процента побед это не важно.
        +11
        Инфографика хороша, но флаг Украины на ней перевернут относительно остальных по какой-то причине.
          +3
          И Python почему-то «pyton».
            +3
            Чтобы с Монти Пайтоном не путали
              +2
              Какой мастерский саркзам! :)
              +3
              Поправили обе детали, спасибо.
                0
                Хром не пускает:

                Your connection is not private

                Attackers might be trying to steal your information from battle.hexlet.io (for example, passwords, messages, or credit cards). NET::ERR_CERT_COMMON_NAME_INVALID
            +5
            Есть планы добавить в список поддерживаемых языков C#?
              +5
              Есть
                +5
                а Scala?
                  +3
                  И Haskell, пожааалуйста!
                    0
                    C++14 + Asio (можно как и Boost так и просто Standalone Asio) :-)
                      0
                      Хотя, я смотрю там сетевого взаимодействия нет. чисто алгоритмы. Тогда просто C++14.
                  0
                  А что значат проценты? Процент побед от той цифры внизу? Что-то вроде «3377 игры из них 2128 побед»?
                    0
                    Это процент побед. Например, у Ruby 3651 игр, среди них в 51% случаев Ruby выигрывал.
                    Тут не учитываются игры, где участвовало два одинаковых языка (например, Ruby vs Ruby)
                      0
                      Стоило уточнить что я про второй график по странам
                    +6
                    Европа — не страна.
                      +9
                      а %language% — не язык
                      +2
                      Добрый день. По вашей ссылке хром выдает:

                      Your connection is not private

                      Attackers might be trying to steal your information from battle.hexlet.io (for example, passwords, messages, or credit cards). NET::ERR_CERT_COMMON_NAME_INVALID
                        +2
                        Мы используем новейший let's encrypt — в старых операционках (вроде windows xp) он не поддерживается, из-за строгих правил именования сертификата (как вам и написало). В поддержке пишут, что можно попробовать последнюю версию Firefox — он должен использовать свои сертификаты, не обращая внимания на операционку. Либо поставить современную ОС :)
                          0
                          У меня OS X El Capitan с последними апдейтами, выражаю надежду, что это достаточно современная ОС :) Свежий хром и сафари ругаются на сертификат.
                            0
                            Добавлю к списку Firefox под El Capitan + Chrome и Edge под Win 10
                            0
                            Проблема точно имеет место быть. Firefox 43.0.4 на Ununtu 12.04LTS тоже ругается.

                            Код ошибки: ssl_error_bad_cert_domain:

                            battle.hexlet.io использует недействительный сертификат безопасности.

                            Сертификат действителен только для следующих имён:
                            www.github.com, *.github.com, github.com, *.github.io, github.io, *.githubusercontent.com, githubusercontent.com

                            (Код ошибки: ssl_error_bad_cert_domain)


                              0
                              Всем спасибо за комментарии, разбираемся.
                                0
                                Хах, мы разобрались :)
                                В статье указана не верная ссылка, правильная без https — battle.hexlet.io
                                В статье исправим, всем спасибо!
                            0
                            Т.е. если будет 100 игр «perl vs perl» и 0 игр «perl vs not-perl», то процент побед будет 50% и perl автоматом на втором месте? :)
                            Или, рассчитывая процент, вы исключали игры между однинаковыми языками? Если нет, то стоит :)
                            Аналогично со странами.
                            И вообще, хочется статистики вида язык1 vs язык2 для всех комбинаций языков :)
                              0
                              В статистике не учитываются игры, где участвовало два одинаковых языка (например, Ruby vs Ruby). Со странами так же.
                              Язык1 vs язык2 как-нибудь попозже тоже опубликуем, отличная идея, спасибо!
                              +2
                              Скажите, как добавить или помочь добавить тот или иной язык? (Мои пожелания: Elixir) Плюс в том, что можно уже использовать erlang тесты для проверки эликсир программ(только добавить elixir и компилировать по-другому). Готов оказать любую помощь бесплатно, при необходимости.
                                0
                                Заходите к нам в slack-ru.hexlet.io в канал #codebattle. Там мы как раз обсуждаем такие моменты.
                                  0
                                  Спасибо, подготовил первую версию, посмотрим, что завтра скажут. Классно, что тесты универсальные.
                                +1
                                Еще очень странно, что в метод в java всегда передается список объектов типа Object, и класс возвращает Object. Было бы неплохо это прояснять, так как только что была задача вернуть вектор векторов, и немного непонятно, что надо вернуть (ну, не Vector же джавовский, в самом деле, им никто не пользуется уже).
                                  0
                                  Просто код универсальный для всех задач. Динамические языки позволяют это через `apply`. Изначально в батле только они были. А для java в коде специальный комментарий есть, который это объясняет.
                                    0
                                    Тогда java в изначально проиграшной позиции. Вот задача была:
                                    Скрытый текст
                                    Calculate the sum of all natural numbers smaller than n (first argument) which are divisible by a or/and b (second and third arguments) without remainder.

                                    Example: 23 == solution(10, 3, 5)

                                    В java ArrayList, естественно, на Ruby же человек, пока я все числа закастил, уже решил однострочником :)
                                  0
                                  И еще: ассерты выкладывать в открытый доступ — не комильфо. Теоретически кто-то может либо все перерешать, либо можно вообще написать скрипт, автоматически генерирующий такое себе решение, возвращающее требующиеся результаты. В результате выйдет бот, накручивающий рейтинг. В принципе, человек, написавший такого бота, будет заслуживать первого места, но все же :)
                                    0
                                    Такие боты встречались, легко отслеживаются и не приносят никакого профита :)
                                    +1
                                    Почему вы требуете регистрацию, чтобы наблюдать за играми?
                                      –5
                                      Если прировнять победы:
                                      Украина в 1246 побед при численности населения ( 45 миллионов человек);
                                      России в 3877 побед при численности населения (146 миллионов человек);
                                      Разница численности человек между странами 3.2(444) раза, легко подсчитать что при такой же численности как и России в Украины было бы 4042 побед.
                                      Это просто статистика и простой анализ, не берите в голову!
                                        +4
                                        По поводу «простых анализов», например, такой вариант:
                                        Пошел муж простые анализы сдавать — положил в спичечный коробок.
                                        День проходит, второй, мужа все нет и нет.
                                        Жена обзвонила все больницы — нашла в палате всего в гипсе.
                                        — Что случилось?
                                        — Помню только, как прикурить попросили…
                                          –3
                                          Интересно получается, я написал простой анализ темы и меня понизили, stas404 написал какой то бредовый анегдот и дали 3 лайка…
                                          Каким боком это к теме относится? Адекватностью и вминяемостью ваш ответ не пахнет — это бред!
                                          Я мог бы так же написать тупенький анегдот, но думаю дальше продолжать разговор смысла нет.
                                            0
                                            Если Вы не заметили, то победы даны не в абсолютном значении, а в процентном. То есть размер страны и количество программистов от неё никакого значения не имеет. Значение имеет только качество.
                                            А те числа, которые Вы приняли за количество побед — это количество игр. Анекдот про анализы должен был заставить перечитать инфографику и понять что с анализами поторопились.
                                        0
                                        Я вот тут посмотрел на ваши данные:
                                        3651+9576+684+9325+6105+145+1720 = 31206
                                        0.52*3651+0.5*9576+0.48*684+0.39*9325+0.36*6105+0.21*145+0.14*1720=
                                        13120.64
                                        31206/2 = 15503 > 13120.64

                                        Или у вас бывают ничьи или что-то не сходиться.
                                          0
                                          Ну, видимо, бывают. Оба учасника посмотрели на задачу, плюнули и ушли.
                                          +3
                                          Смотрю текущий батл, там PHP вообще ничего не вводит, может думает, а может просто забил. Такие победы засчитываются?
                                            +1
                                            Зашел поиграть… только вник в суть задания, а соперник уже код настрочил…
                                            Играл несколько раз и тот же результат… уже разочаровался в себе, а как оказалось — мало того что задания там повторяются, так готовые решения давно опубликованы на git…
                                            Но задумка интересная…
                                              +2
                                              Если так, то это фигня а не баттл…
                                                +1
                                                мало того что задания там повторяются, так готовые решения давно опубликованы на git…

                                                Задания — да, бывает, повторяются, но готовых решений на гитхабе я не находил.
                                                0
                                                Perl будет?
                                                  0
                                                  Очень интересно. Особенно фраза «Проект закрыт» по ссылкам.
                                                    0
                                                    Почему проект закрыт?
                                                      0
                                                      Очень жаль, что проэкт закрыт. Я со студентами его использовала для обучения программированию.
                                                      Его возвращать к жизни не собираетесь?
                                                      Пока могу порекомендовать вместо этого: https://www.codingame.com/clashofcode, http://www.codewars.com, http://cyber-dojo.org
                                                        0
                                                        Вы не поверите но codebattle.hexlet.io пока еще сыро, но планируем да.

                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                      Самое читаемое