See: http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_d...
It's easy to see how this measures the wrong thing. A better metric for me is the popularity of languages in open-source software, which could be measured by (say) the number of popular/active projects.
For instance take a look at: https://github.com/languages ... but this also has flaws, because GitHub is favored in the Javascript/Ruby communities and open-source C#/.NET projects end up mostly on CodePlex, a lot of Java projects are hosted by Apache, a lot of Python projects are on BitBucket and so on.
So a better metric would be to aggregate the projects from all popular project hosting services and count them, with some kind of weight attached. So for instance it would be unfair to count the lines of code in the Linux kernel, but it would also be unfair for the Linux kernel to have the same weight as some random project on GitHub that's being watched by 5 people. I would make this weight proportional to the number of active contributers, such that when a project is left unmaintained its weight will eventually drop to zero.
> all popular project hosting services and count them, with
> some kind of weight attached.
Great idea. Do you think you might run with this idea? I like it as a corrective to TIOBE.
On another topic: I know that TIOBE sometimes lumps several related languages together. Does anyone know if they are doing that with "Lisp"? What does "Lisp" measure? Common Lisp? Scheme? Emacs lisp? Does it measure Clojure?
"Unfortunately", that someone now has a house, two kids, and more work than he can handle, and is thus looking to exit the fun and flame filled world of language popularity.
Based on Instagram's valuation, I guess I'd settle for a million for it;-)
Can you email me at lawrence @ krubner . com? I'd like to know how much you want to sell langpop for.
That said, you wrote "a better metric" and I agree.
I imagine based on the fairly few (if enthusiastic) posts about Scala on HN that Lego Mindstorm programming far outstrips Scala programming in the US.
The "community" they're measuring is not the HN community, which is not even close to a representative sample of engineers worldwide.
> It would strongly violate my expectations for Scala to be
> more popular than LabVIEW (which is NOT just "the Lego
> Mindstorms language")
I'm not talking about LabView; it's literally the Lego Mindstorms language [1] that outranks Erlang, MATLAB, ActionScript, Scheme, Groovy, R, Scala, and so Forth. LabView appears in the "Can't compare that meaningfully" category. So consider your expectations violated. > The "community" they're measuring is not the HN
> community, which is not even close to a representative
> sample of engineers worldwide.
I understand the potential bubble effects at work. I'm not arguing that Scala or Clojure or whatever's hip should come out on top. What I'm contesting is their notion of popularity. The measurements may be reliable (I don't think they are), but they're sure as hell not measuring anything worthwhile. NXT-G may be more "popular" in the sense of being Googled more often, but that's utterly irrelevant for 99% of all cases where you'd be interested in language popularity.I'm not sure why you're so surprised. I can see that it's quite likely that Lego Mindstorms is more popular and has more users than many of those languages. I don't yet have a Mindstorms set, but I've been considering it for a while -- I can't say the same for Clojure, Groovy, Scheme, or R.
The treemap is especially interesting. The square size shows market size, while the background color shows percentage change from previous year. E.g. both Scala and Clojure have green "increasing share" squares, while nearby Groovy and Labview have smaller, red "decreasing share" squares.
Because people need to pay OReilly for the book, it's much more difficult to cheat than Tiobe, which only takes some "Project Manager" to spend half their day creating websites, generating cycles of links, producing online verbiage, submitting pages to search engines, blah blah blah
For many functional languages "Programming in X" is a lot more common than "X programming"
Compare "Scala programming" and "Haskell programming" with "Programming in Scala" and "Programming in Haskell."
TIOBE is fully aware of the issue, but I guess the confusion and discussion creates just more clicks than an accurate representation.