Анализ данных из субреддитов языков программирования позволяет получить некоторое представление о том, как программисты относятся к языкам, которые они используют, и о перекрытии между языками.
Автор проекта Тобиас Германн (Dobiasd на GitHub) говорит::
Читая о различных языках программирования, я развил догадку о том, как часто разные языки упоминаются другими сообществами и о средних тонах разговора, используемых родственниками.
Чтобы проверить свою догадку, он собрал и проанализировал все комментарии (около 300 тыс.), написанные к представлениям (около 40 тыс.) на субреддитах языка программирования с августа 2013 по июль 2104 года, используя SQLite и PRAW, пакет Python, который дает доступ к API reddit.
Охвачены двадцать два языка::
Clojure, C++, C#, Go, Haskell, Java, JavaScript, Lisp, Lua, Mathematica, Matlab, Objective-C, Perl, PHP, Python, Ruby, Rust, Scala, SQL, Swift, Visual Basic
Один интересный анализ состоял в том, чтобы выяснить, сколько говорят о языке по сравнению с тем, сколько он предположительно используется в соответствии с индексом TIOBE:
Я думаю, это иллюстрирует то, что мы все подозреваем, — что о Хаскелле говорят чаще, чем его используют. Возможно, также происходит феномен «отбрасывания имен» и, возможно, немного стыда за Visual Basic.
Главным достижением проекта является интерактивная визуализация взаимных упоминаний, которая показывает, как часто язык программирования упоминается в сообществах (субреддитах), не принадлежащих им. Это график аккордов, построенный с D3.js, библиотека JavaScript, которая предоставляет способ создания документов, связанных с данными.
Размер языка определяется тем, как часто другие говорят о нем в сумме. Одна связь представляет собой взаимные упоминания двух сообществ. Ширина на каждом конце определяется относительной частотой упоминания, на которую ссылается соответствующее другое сообщество. Таким образом, PHP больше говорит о SQL, чем SQL говорит о PHP, в то время как Python и PHP обсуждают друг друга сбалансированным образом.
Из этого интерактивного графика можно сделать множество выводов. В новостях о хакерах есть комментарий о том, как он указывает, насколько совместимы или совместно используются две технологии на практике.
Например: программисты на C++, по-видимому, вообще не упоминают SQL, в то время как он очень популярен среди PHP. Также нет никакого перекрытия между программистами на C++ и JavaScript. Очевидно, что Rust находится под сильным влиянием C++ и Haskell, но сообщество C++ даже не знает о его существовании. Вполне естественно, что сообщества Matlab и PHP действительно не имеют много общего.
Непредвзято также посмотрите на выбор слов, используемых при обращении к языку программирования. Это выявило одержимость абстрактными концепциями людей из Haskell и рассмотрение аппаратных проблем людьми, использующими C и C++, что те, кто говорит о PHP, были наиболее склонны к ругательствам, в то время как те, кто использует Lisp и Clojure, по-видимому, имеют наиболее позитивное отношение:
В конце этого анализа Доброжелательный спрашивает:
Но что происходит с сообществом Visual Basic? Они не злые и не счастливые. Они просто … такие? :)»
Комментарий к хакерским новостям решает головоломку:
На это отвечают упоминания относительно графика TIOBE. Они используют VB, но стараются не говорить об этом.
Если вы нажмете на этот график аккордов, вы получите доступ к интерактивной версии и сможете изучать ее на одном языке за раз.
Вы также можете найти больше анализа субреддитов языка программирования Dobiasd и их выбор слов на GitHub, включая анализ ругательств, наиболее часто используемых каждым языком, я призываю вас угадать, прежде чем вы посмотрите.