The RedMonk Programming Language Rankings is a semi-annual analysis of code usage and discussion based on statistics from GitHub and StackOverflow.
"[W]e extract language rankings from GitHub and Stack Overflow, and combine them for a ranking that attempts to reflect both code (GitHub) and discussion (Stack Overflow) traction. The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends."
Coming up with an objective way to provide apples-to-apples comparisons of programming languages is no easy task, and the team at RedMonk readily admit as much:
• No claims are made here that these rankings are representative of general usage more broadly. They are nothing more or less than an examination of the correlation between two populations we believe to be predictive of future use, hence their value.
• There are many potential communities that could be surveyed for this analysis. GitHub and Stack Overflow are used here first because of their size and second because of their public exposure of the data necessary for the analysis. We encourage, however, interested parties to perform their own analyses using other sources.
• Languages that have communities based outside of Stack Overflow such as Mathematica will be under-represented on that axis. It is not possible to scale a process that measures one hundred different community sites, both because many do not have public metrics available and because measuring different community sites against one another is not statistically valid.
With those caveats in mind, let's have a look at the chart:
VBA is an Outlier
VBA is all by itself in the upper left corner.
There are several reasons VBA appears near the top of the StackOverflow rankings which serve as a proxy for language discussion:
- VBA is one of the oldest languages in the chart (the rankings are accretive, which rewards languages that have been around for awhile)
- Lots of people write VBA (including tons of Excel power users)
- More importantly, lots of beginners write VBA (generating many questions)
There are also several reasons VBA appears near the bottom of the GitHub rankings:
- VBA is not version-control friendly (code lives in a single binary file rather than within multiple text files)
- VBA has a sky-high normal people-to-developer ratio (and normal people don't use version control...but developers do)
- VBA lacks a formal package ecosystem (so sharing open source projects is more onerous with VBA than other languages)
- As a language that is both proprietary and Windows-only, the open source community has no love for VBA (is "hate" too strong a word?)
- VBA cannot be compiled into a binary (for ease of use in other projects)
VBA will never appear near the top of the GitHub rankings. Frankly, I'm surprised it's as high as it is there.
That said, the best way to compare VBA's popularity among other top languages is to focus on its ranking within StackOverflow. Honestly, I think a top 15 showing for VBA is quite respectable...especially when you consider VBA finished two spots ahead of VB.NET.
Here are the languages listed by popularity on Stack Overflow (as determined by # of tags):
- Visual Basic (.NET)