User avatar
DougieLawson
Posts: 36816
Joined: Sun Jun 16, 2013 11:19 pm
Location: Basingstoke, UK
Contact: Website Twitter

Re: Pi 3 A +. What is it for?

Mon Oct 21, 2019 9:44 am

I think Bill Gates put it succinctly “Measuring software productivity by lines of code is like measuring progress on an airplane by how much it weighs.“

The argument on using lines of code gets completely screwed up when you take a 600 line function, strip all the lines out and write an equivalent function that a) works the same b) works faster and c) is easier to understand but only has 200 lines of code (because you've found a better technique). The lines of code metric for that is MINUS 400.

Lines of code metric also don't allow for those 1000s of lines of James's library code that I'm calling from one line in my code. In that case my 600 line function shrinks to one line and the lines of code wonks have another negative number.
Note: Having anything humorous in your signature is completely banned on this forum. Wear a tin-foil hat and you'll get a ban.

Any DMs sent on Twitter will be answered next month.

This is a doctor free zone.

Heater
Posts: 14242
Joined: Tue Jul 17, 2012 3:02 pm

Re: Pi 3 A +. What is it for?

Mon Oct 21, 2019 10:00 am

Anecdote - Part 1:

Years ago I was hired by Racal as a contractor to work with a team on a CAD package they had going. On the first day the project manager dumped a half meter high stack of paper on my desk. It was all the out sanding bug reports they had been collecting for a year or two. I was set the task of investigating all those bug reports, finding the ones that were reproducible, and fixing them.

Great, I knew nothing of the gigantic code base and only a slight clue what it actually did. I set to work. For the best part of a year if I was fixing bugs with one line changes at the rate of one per day that was a good week.

After that, they put out a major upgrade, and they thought I had done very well so I was allowed to write actual code for new features for the next cycle. Even lead a small team on a subsystem.

Anecdote - Part 2:

On that team was a very bright young software developer. He was amazing. I have never seen anyone write so much code so quickly, not only that this was pretty hairy design optimization algorithms, not only that his code generally just worked. Just brilliant.

Until, one day he did not turn up to work, which was odd. Later in the day he called me, he could not tell me where he was or what he was doing or why, he was making no sense at all. Turns out he had some kind of nervous break down and was off work for weeks. On his return he was a different person, very slow, unreliable. Eventually the company fired him. A very sad case.

What does it all mean?

No idea. But I'm pretty sure that if anyone doubts the statistic they have not looked very hard at what goes on and never made the measurement themselves. They only remember the days when they churned out a thousand lines of code. Or they have hired some code monkeys that endlessly churn out code cut an pasted from stack overflow or recycled from other similar projects.
Memory in C++ is a leaky abstraction .

Heater
Posts: 14242
Joined: Tue Jul 17, 2012 3:02 pm

Re: Pi 3 A +. What is it for?

Mon Oct 21, 2019 10:11 am

DougieLawson,

For once I have to agree with Bill Gates. Not hard when he is stating the obvious.

Of course we all know that lines of code is not a good measure of a software engineers contribution.

But hey, it's a statistic that can be easily measured and seems to be remarkably robust over decades. So there it is. It's a bit harder to measure the value of some new solution that a software engineer comes up with that makes things more efficient or even makes things possible that were not possible before.
Memory in C++ is a leaky abstraction .

Return to “General discussion”