I just got pointed to a really interesting and relevant data source by Ben Racine and wanted to post a short update to note the correlation of my post with a new piece of external information.
The information? The input from ~2,500 developers over on Hammer Principle on the statement, “This language is expressive.” I mapped the top 10 and bottom 10 languages to my own median-based ranking, showing only the top two popularity tiers for simplicity, and got this:
Interestingly, it’s a very clear correlation — all expressive at one end, all poorly expressive at the other end, and a mix in the middle (indicating a bit of noise).
What do you think?
Programming languages ranked by expressiveness – Donnie Berkholz's Story of Data says:
March 26, 2013 at 5:00 pm
[…] (3/26/12): I wrote a new post showing correlation of my data with external survey data on what languages developers think are […]
Are we getting better at designing programming languages? – Donnie Berkholz's Story of Data says:
July 23, 2013 at 9:56 am
[…] Caveats? The meaning of expressiveness as measured by this metric is deep and complex. As mentioned in the initial post on the topic, JavaScript appears to be an artifact due to its unusual development norms. And if you look closely, perhaps a language here and there doesn’t fall quite where you’d expect. But overall, things largely make sense, and this is borne out by correlations between my measurement of expressiveness and developer surveys. […]
Ben Racine says:
May 13, 2015 at 1:08 pm
So, the order your study yielded was:
1. CoffeeScript
2. Clojure
3. Haskell
4. Scala
5. O’Caml
6. Lisp
And the expressiveness survey yielded:
1. Haskell
2. Clojure
3. Coq
4. F#
5. Scala
6. Scheme
7. Common Lisp
8. J
9. O’Caml
I think this certainly suggests there is SOME definite meaning in the LOC as a measure of expressiveness.
I would think an even better method would be to pull code from rosettacode.org because there you have people solving the exact same problem in many different languages.
One challenge there is that sometimes people do use libraries and sometimes they do not, but I still can’t imagine a better data source at the moment.