November 24, 2008
@ 11:47 PM
I didn't intend to comment on this post from Jeff Atwood where he claims we (developers) are typists first and programmers later but since I qouted his blog on my previous post I reconsidered.

I'd have to say that this isn't one of Jeff's most intelligent posts.
 How many lines of code do you think developers write per day? let's google us some numbers:

Here is one interesting qoute

"Let's see if, quantitatively, there's any truth to the perception that the code velocity (net lines shipped per developer-year) of Windows has slowed, or is slow relative to the industry.  Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million.  There are about two thousand software developers in Windows today.  Assuming there are 5 years between when XP shipped and when Vista ships, those quick on the draw with calculators will discover that, on average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista.  Only a thousand lines a year.  (Yes, developers don't just write new code, they also fix old code.  Yes, some of those Windows developers were partly busy shipping 64-bit XP.  Yes, many of them also worked on hotfixes.  Work with me here.)

 

Lest those of you who wrote 5,000 lines of code last weekend pass a kidney stone at the thought of Windows developers writing only a thousand lines of code a year, realize that the average software developer in the US only produces around (brace yourself) 6200 lines a year.  So Windows is in bad shape -- but only by a constant, not by an order of magnitude.  And if it makes you feel any better, realize that the average US developer has fallen in KLOC productivity since 1999, when they produced about 9000 lines a year.  So Windows isn't alone in this.  [KLOC data comes from “Worldwide IT Trends & Benchmark Report 2001”, produced by META Group (now acquired by Gartner)]"


Here is another one from Jeff Atwood himself

But what I really want to focus on here is how you measure a project's size. What's big? What's small? McConnell is using lines of code (LOC) as his go-to measurement. Here's a table that illustrates the relationship between project size and productivity:

Project SizeLines of code (per year)COCOMO average
10,000 LOC2,000 - 25,0003,200
100,000 LOC1,000 - 20,0002,600
1,000,000 LOC700 - 10,0002,000
10,000,000 LOC300 - 5,0001,600
some of the best numbers I've found:
"

Alien Problems:

problems about which I know nothing, those have seen them for first time:

12 lines of usefull code per hour :((, includes thinking on it :|

Some what, I know problems:

problems, that I know about but have not solved before.

33 lines of usefull code per hour, including thinking

Ah, I have done that before:

63.5 lines of useful code per hour"

These numbers shows us the most of the time spent on projects is doing other stuff- as in not typing programs.

but let's say you code 1000 lines of code per day. if you code for 4 hours in that day you would write 4-5 lines per minute - how many words per minute do you think that amounts to? unless you are writing COBOL I would say 3-5 words per line. what sort of typing speed do you need for that?

Note that " lines of code" is not a very good measurement of productivity. e.g. refactoring a design may generate lines of code for you (e.g. extact method) or you may remove lines of code (applying principles like DRY) or you can generate code from templates /wizards)
As John D. Cook says:
"I heard of a study recently that concluded inexperienced and experienced programmers write about the same number of lines of code per day. The difference is that experienced programmers keepmore of those lines of code, making steady progress toward a goal. Less experienced programmers write large chunks of code only to rip them out and rewrite the same chunk many times until the code appears to work. "
In any event,in my experience, you just get better in typing just because you spend all that time at the keyboard - it is defenetly not a goal in itself, just a nice side-effect.



Powered by ScribeFire.


 
Tuesday, November 25, 2008 3:07:32 AM (GMT Standard Time, UTC+00:00)
I was thinking it but was trying not to say it. This post sums up my thoughts exactly..

Evan
Evan
Tuesday, November 25, 2008 12:16:49 PM (GMT Standard Time, UTC+00:00)
Hi, Arnon!

I have to disagree with that, and been a pretty loosy typist myself, I agree more with Jeff and Steve Yegge on this point.

No LOC measure can be taken as input to calculate how much code a developer actually writes, because the code that finally gets into the product is a typically small percentage of all the code written. Particularly, think how much code you refactor and change over a long project (even if you are not heavy refactoring), plus tests of all kind, prototypes, etc.

But typing well doesn't have to do with typing a lot, but with keeping the mental flow as smooth as possible. While I can't touch type all the time, I know that when I am able to type without looking at the keyboard I can code much better, because going back and forth to fix typos gets in the middle of the mental process.

I thank good IDEs and accelerators like Rsharper (my own favorite) that takes all the parenthesis and curly work away from me and let me concentrate on the real stuff.


Best regards!
Tuesday, November 25, 2008 2:57:51 PM (GMT Standard Time, UTC+00:00)
@ Martin
I think I type fairly well and that's purely the result of programming (i.e. my Hebrew typing skill are worse than my English one and I am a native Hebrew speaker) - Nevertheless, my programing skills developed independently from my typing skills. I don't think that if I would type faster would have any effect on my programming skills and that I was a lesser programmer when I typed slower. I was a lesser programmer because I had less experience, less theoretical knowledge etc.
Coding is an exercise in thinking not in typing.

Arnon
Comments are closed.