“Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”
It's appropriate on so many levels. Lines of code can be part of a measure of what has been accomplished, just like a heavy airplane is a great accomplishment so long as it flies. Yet we would never consider adding weight to be our goal.
It might be for aircraft construction but not aircraft design. Since programmers aren't typists entering already-complete programs, programming is more asking to the latter, not the former. You want aircraft to be lighter and programs to be shorter, and measuring progress by movement in the opposite direction is foolish.
But weight relative to a final value is not a reasonable metric for completeness. It's discontinuous with irregular, changes, so it has no utility in predicting how long until completion, for instance.
> “Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”
Nice. And then we have Windows that needs dozens of gigabytes disk space and
can do nothing useful at all, while debootstrapped Debian chroot can easily
serve a dynamic website backed by a database and weigh two orders of magnitude
less (minus the data, obviously).
The analogy is quite apt, but the context of the author's company makes the
sentence hilarious.
“Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”
It's appropriate on so many levels. Lines of code can be part of a measure of what has been accomplished, just like a heavy airplane is a great accomplishment so long as it flies. Yet we would never consider adding weight to be our goal.