4 ms·
Yeah, most of this is just drawing conclusions from what is essentially noise. Especially the consistency measure: that's bound to be heavily affected by how ma
by tikhonj 14y ago
Yeah, most of this is just drawing conclusions from what is essentially noise. Especially the consistency measure: that's bound to be heavily affected by how many people use a given language. The so-called "tier 1" are not popular because they're consistent--they're consistent because they're popular. The same goes for the tier 3 languages in reverse: they probably have so little activity that a high variance is inevitable.
Also, number of lines per commit is not really a good measure of expressivity. I don't even see how it's a reasonable proxy: the number of lines I commit changes more depending on my project (is it simple or complex, for work or for fun?) than on my language.
Also, it makes literally no sense at all to consider very domain-specific languages like puppet: you may as well talk about how expressive HTML or CSS are relative to normal programming languages!
Basically, I think this article draws too many arbitrary conclusions on limited data.
- lkrubner 14y ago"the number of lines I commit changes more depending on my project (is it simple or complex, for work or for fun?) than on my language." This amounts to saying: Some days I eat eggs for breakfast, but other days I eat oatmeal for breakfast, so I am totally inconsistent in what I eat from day to day, therefore it would make no sense to include me on a survey about what people in my country eat. You do understand that a single data point might be useless, but when combined with thousands or millions of other data points, it becomes useful? What you do on any one project does not matter, but what you do, combined with thousands of other developers, all averaged together, starts to get interesting. If you honestly believed your own premise, then you would expect all the results to be the same -- there would be no variation between Fortran, Java, Javascript, Clojure or Coffeescript, cause, you know, everybody is different and does different stuff, and its all so crazy, how can anybody make sense of it? But we can make sense of it. All that is needed is a good understanding of probability and a sufficiently large data set. Mind you, the article above might be total bunk. There might be lots wrong with the dataset. But its not bunk for the reason you give: " the number of lines I commit changes more depending on my project (is it simple or complex, for work or for fun?) than on my language."
- kevinnk 14y agoBut that's not true if there is a systemic bias involved that has nothing to do with expressiveness. If you're more likely to make small commits on "fun" projects, you're biasing the results against languages that aren't used as often in fun projects.
- deleted 14y ago[deleted]
- paulhodge 14y agoWith lots of data there's no doubt that they are measuring something, but it's not clear that they are measuring what they want. Your breakfast analogy would be more like: - Some days Alice eats crumpets while sitting in her house and it takes her about 20 minutes. - Some days Bob eats a bagel while on the way to work and it takes him about 5 minutes. - Therefore, bagels are 4 times faster to eat than crumpets. See the problem is we have conflated lots of correlations at once. There is 1) a tendency for certain types of foods (languages) to be used for certain purposes, and a tendency for certain kinds of people to prefer certain foods (languages), and neither of those correlations are necessarily caused by the properties of the food (language) itself.
- rtfeldman 14y agoYes. It would have been better to publish the chart, and then on this line: > What conclusions can we draw from this? ...answer the question with "None" and then explain why. Following that with a deeper analysis of the myriad explanations for this data could have been interesting (e.g. what kinds of projects are strongly correlated with larger commits? How much does that vary by language and age of the project?), but unsupported conclusions are not.
- LukeHoersten 14y agoI think language age is another point in support of your consistency argument. Older languages have had more massive library changes etc. whereas new languages or unused languages have libraries change much less and therefore less churn. It's why Lua can be at one end and Boo at the other. Or C# and Vala despite their similarities. Old languages with lots of users at the low-churn end of the spectrum are something to look at though.