

What does “expressiveness” via LOC per commit measure in practice? - dsberkholz
http://redmonk.com/dberkholz/2013/03/26/what-does-expressiveness-via-loc-per-commit-measure-in-practice/

======
drharris
Good article, but I'm even more skeptical of using LOC as a measure of
expressiveness (whatever that means). I think expressiveness has more to do
with how "native" a language feels to you. Just like a hispanic might think in
Spanish, I think in English, and we are each more expressive in our home
language. I would probably butcher Scala code, but a Python guy would butcher
C#. I also think this metric ignores boilerplate code. In C#, I make a new
class and it pre-fills a ton of boilerplate. One could debate that this is
"expressive", but it's something that a native speaker doesn't even notice;
our eyes ignore the framework and go straight to what matters. Same for long
function prototypes and object types. We're not typing every line of code;
most of them are typed for us.

It also ignores coding standard guidelines that many people follow, including
hungarian notation, or expressive variable names, which can make lines of code
get split up even though the naming conventions themselves might be considered
more understandable because of it. Established languages are more likely to
follow this pattern than the arcane notation used by most modern functional
languages.

In the end, languages to the "more LOC" side of the list feel more native to
me than those on the "less LOC" side of the list, and so I feel I'm more
expressive in them, despite the statistic. I think LOC is not a useful
measurement for anything, really, except for linkbait.

