How do the different communities talk?
Python HTML CSS Shell
Latest commit 8ef6acf Jul 7, 2016 Dobiasd add link to more analyses on editgym.com
Permalink
Failed to load latest commit information.
analysis clean up Aug 22, 2014
img add perl to tiobe graph Jul 27, 2015
mentions_chord_graph fix: csv format again Aug 22, 2014
.gitignore fix: paths Aug 20, 2014
LICENSE nicer formulation Aug 22, 2014
README.md add link to more analyses on editgym.com Jul 7, 2016
crawl.py add perl to tiobe graph Jul 27, 2015
grep_irc.sh irc comparison Aug 20, 2014

README.md

Programming language subreddits and their choice of words

While reading about various programming languages, I developed a hunch about how often different languages are mentioned by other communities and about the average conversational tones used by relative members.

To examine if it was just selective perception on my site, an unconscious confirmation of stereotypes, or a valid observation I collected and analysed some data, i.e. all comments (about 300k) written to submissions (about 40k) in respective programming language subreddits from 2013-08 to 2014-07 using PRAW and SQLite.

In this article I will present some selected results. (If you want you can also download the code I wrote/used as well as the raw data generated by it.)

Mutual mentions

The following chord graph (click it for an interactive version) shows how often a programming language is mentioned in communities (subreddits) not belonging to them:

(mutual mentions)

(The size of a language is set by how often the others talk about it in sum. One connection represents the mutual mentions of two communities. The widths on each end is determined by the relative frequency of the mentionee being referenced by the respective other community. So PHP talks more about SQL than SQL talks about PHP.)

The "big" languages are the ones most talked about, yawn.

Sure, measuring programming language popularity accurately is nearly impossible, but if we still simply take some values from TIOBE it gets interesting, because one can see how much is talked about a language relatively to how much it is supposedly used.

mentions relative to tiobe

Here was the first time I said "Ha! I knew it!".

haskell tweet

(No Haskell bash intended. I love it and its little web cousin Elm and use them for projects and also write articles about it.)

Word usage

If we now divide the number of comments in a subreddit containing a chosen word by the overall subreddit comment count (and multiply by 10000 to have a nice integer value), we get more ... well, diagrams. But most results like the obsession with abstract concepts by the Haskell people and the consideration of hardware issues by people using C and C++ are not that surprising.

abstract concepts

hardware

Cursing

This part here is quite comforting, because a conjecture many of us probably have is confirmed.

cursing

Happiness

To finish with something positive: The lispy guys seem to be the most cheerful people.

happy

But what is up with the Visual Basic community? They are neither angry nor happy. They just ... are? :)

Other subjects

On editgym.com/subreddits-and-their-choice-of-words you can find more analyses of this kind applied to different topics/subreddits like gaming, music, sports, operating systems, etc.

Disclaimer

As you probably already noticed, this is not hard science. It was just a small fun project and contains several possibilities for errors. I tried to only choose big communities and frequent words so that there is at least a bit of statistical significance. (btw If you remove this constraint Elm is the most happy and coolest language. ^_-) But potential errors in my parser and interpretation (e.g. no taking negations into account etc.) are not to exclude fully as well. ;)

Also, positive correlation (e.g cursing <-> PHP) does not imply one causing the other. But if somebody wants to repeat this experiment to confirm/refute the results with more fancy tools like nltk or something, I would be happy if you could drop me an email.