Programming language popularity
langpop.com
langpop.com
What these statistics do is go to specific communities and attempt to measure which languages those communities use. Using those numbers to measure language popularity in the population at large makes the assumption that those communities are representative of the population at large. That's a faulty assumption to make.
Do you, for example, think that Slashdot has a large segment of the "Excel VBA Macro Developer" market posting to it? Probably not.
There are other sites, like Stack Overflow, that show a 2:1 preference for C# over Java. Does that mean there are 2x as many C# programmers as Java programmers? No. It just means that more posts on Stack Overflow are about C# than about Java.
Information about the number of unique books written about a language at a particular store does not imply anything about popularity. If you considered "unit sales", that might give you a measure of "popular book subjects", but not about language usage. For example, it could be possible that Java programmers buy more books on Java than C# programmers do on C#. Many of the C++ programmers I know have several books on C++. I don't think that means C++ has more users than, say, Windows batch scripts.
The web site does say "these results are not scientific", but I don't think that's a strong enough statement. The "scientificness" has to do with how the data is collected, and how the results are reported. Even if they measured the same things using scientific means, the numbers still wouldn't imply what they claim them to imply. A better disclaimer might be "these results are not useful for making any decisions what so ever."
"We have attempted to collect a variety of data about the relative popularity of programming languages, mostly out of curiousity."
Those are claims that what they are measuring is a proxy for language popularity.
My point is that those claims are not valid.
"This is a fairly crude approximation of popularity, however, it's worth including, because all other things being equal, the more popular a language is, the more pages will exist mentioning it."
"Popular languages are used more in industry, and consequently, people post job listings that seek individuals with experience in those languages. "
"Books are also a lagging indicator, but a good way to eliminate languages that aren't "established"."
Those statements indicate that the measurements are proxies for language popularity. My point is that those statements are not true, that the numbers do not serve as proxies for language popularity. They are not crude proxies, they are not lagging proxies, or any other form of proxy.
Most conclusions you could draw from the numbers would be wrong.
Sure it does. Java is more popular than Forth, and as a consequence, there are a lot more Java books than Forth books. Sure, there are various other factors involved, but there is very definitely some correlation. Anyone else remember how many Ruby and Rails books started being pumped out when it started getting popular?
Yeah, sales numbers would be nice too, but over time, editors won't publish books on things that won't sell.
Also, that "particular store" is not just some mom and pop bookstore in Podunkville, it's Amazon.com. It is, last I checked, one of the most popular book stores in the world.
Sites like CocoaDev try to maintain some semblance of a knowledge base, but it's still woefully inadequate.
Apple refuses to publish code snippets, and their API docs consist of little more than what you would learn from the header files.
Mac development is a pain in the ass, even though I like Objective-C as a language :)
The API documentation is better than most development environments I've worked with. Admittedly, Apple's secrecy problem gets in the way of publicly acknowledging bugs, missing features, or planned upcoming features. These things can be frustrating. Apple publishes a large selection of sample code though. In fact, they ship a lot of it with the developer tools themselves (plus all the docs), so you don't always have to go looking through the website.
iPhone development is undeniably worse right now. I imagine this will change over time, but I agree their is a lot of work to be done on that front.
My best guess is that books are a really lagging indicator, because books stay in Amazon's database for so long: there's no way for PHP, Python, and Ruby, or even Perl, to come close to catching up with C and Java, given the large number of C and Java books published before those languages were even invented.
(It's my site, BTW).
Normalized results are good though. At first I just read Google - Visual Basic, D and Delphi all being just a tad more popular than Ruby.
Also thought Haskell would be higher - even if only because of one day at HN.
We could end up with something like finance.google.com for programming languages :)
(Interestingly, the stats are pretty easy to change. Perl was 2%, then Yuval Kogman and I moved our repositories there, and got it up to 3%. We advertised heavily on IRC, and now it is at 6%. Tripling the amount of code on github in a few weeks is certainly a sign that Perl is not dead. It's also interesting to consider that Yuval and I are 1% of the open source community ;)
Twitter... hrm. Yeah, might add that in the talk section.
HN... I'd feel kind of bad about having an influence on the numbers myself;-)
My favorite argument for Python over Ruby was always that Python is more popular but it seems like that will become less true over time.