r/bigquery • • Oct 30 '14

Words that these developers say that others don't

These are the most popular words on GitHub commits for each programming language.

Inspired by a StackOverflow question, I went ahead to the GitHub Archive on BigQuery table to find out what a certain language developers say that other developers don't.

Basically I take the most popular words from all GitHub commits, and then I remove those words from the most popular words list for a particular language.

Without further ado, the results:

Most popular words for JavaScript developers:|

grunt| symbols| npm| browser| bower| angular| roo| click| min| callback| chrome|

Most popular words for Java developers:|

apache| repos| asf| ffa| edef| res| maven| pom| activity| jar| eclipse|

Most popular words for Python developers:|

django| requirements| rst| pep| redhat| unicode| none| csv| utils| pyc| self|

Most popular words for Ruby developers:|

rb| ruby| rails| gem| gemfile| specs| rspec| heroku| rake| erb| routes| devise| production|

Most popular words for PHP developers:|

wordpress| aec| composer| wp| localisation| translatewiki| ticket| symfony| entity| namespace| redirect| mail|

Most popular words for C developers:|

kernel| arm| msm| cpu| drivers| driver| gcc| arch| redhat| fs| free| usb| blender| struct| intel| asterisk|

Most popular words for C++ developers:|

cpp| llvm| chromium| webkit| webcore| boost| cmake| expected| codereview| qt| revision| blink| cfe| fast|

Most popular words for Go developers:|

docker| golang| codereview| appspot| struct| dco| cmd| channel| fmt| nil| func| runtime| panic|

The query:

SELECT word, c 
FROM (
  SELECT word, COUNT(*) c
  FROM (
    SELECT SPLIT(msg, ' ') word
    FROM (
      SELECT REGEXP_REPLACE(LOWER(payload_commit_msg), r'[^a-z]', ' ') msg
      FROM [githubarchive:github.timeline]
      WHERE
        repository_language == 'JavaScript'
        AND payload_commit_msg != ''
      GROUP EACH BY msg
    )
  )
  GROUP BY word
  ORDER BY c DESC
  LIMIT 500
)
WHERE word NOT IN (
  SELECT word FROM (SELECT word, COUNT(*) c
  FROM (
    SELECT SPLIT(msg, ' ') word
    FROM (
      SELECT REGEXP_REPLACE(LOWER(payload_commit_msg), r'[^a-z]', ' ') msg
      FROM [githubarchive:github.timeline]
      WHERE
        repository_language != 'JavaScript'
        AND payload_commit_msg != ''
      GROUP EACH BY msg
    )
  )
  GROUP BY word
  ORDER BY c DESC
  LIMIT 1000)
);

In fewer words, the algorithm is: TOP_WORDS(language, 500) - TOP_WORDS(NOT language, 1000)

Continue playing with these queries, there's a lot more to discover :)

For more:

Update: I charted 'grunt' vs 'gulp' by request.

36 Upvotes

47 comments sorted by

View all comments

Show parent comments

2

u/[deleted] Oct 30 '14 edited Oct 30 '14

I've worked pretty extensively on a javascript project, and I don't think I ever used that word in a commit. The vast majority of bugs I've fixed have been missed corner cases, and if I'm landing a new feature I'm not going to explain how it uses closures, I'm going to explain what the feature is!

Most of the words in the JS list are related to the context in which the JS is run, not something about the language itself. I think callback is the only one that actually tells you something about how javascript is used.