Gabriel Sechan wrote:
----------------------------------------
Date: Fri, 28 Mar 2008 00:07:54 -0700
From: [EMAIL PROTECTED]
To: [email protected]
Subject: myth of the amazingly productive coder

At an old job the resident programming guru was said to be amazingly prolific.
It was said he could work over a weekend and come back with 6000 lines of code.

All my code has always been slow and steady.  Just the design phase takes
lots of calm meditation to find the right way to do things.  It is *never*
just a crazed ejaculation of 100s of lines of working code.

Was this a myth?  I'm skeptical anyone could even type 6000 lines in a weekend
even if they had the source print out in front of them to enter?!?!

Really?  I've done 6000 lines in a day before, on at least 2 occasions.  If you 
type 50 wpm, and the line is, say 7 words, thats 7 lines per minute.  An hour 
is 420 lines.  Two 8 hour days will break 6K at that rate.  Granted it wasn't 
good code-  it was me basically rewriting code I'd written in the past.  In one 
case it was for a class, the language was assembly (small lines), and much of 
it was reminiscent of previous mps.  I think it took me 12 hours or so.  In the 
other case, it was fairly boring boilerplate code that was 90% copy paste.  I 
could have made a perl program to do it for me, but that would have taken just 
slightly longer.  It was probabbly 70% copy paste, 20% paste and edit, 10% new 
code.

There's four catches here. If you're coding that much, you probably aren't designing- either you're in pure hack mode, or the design is already done.
Not necessarily so. When you have "flow" they can both be happening simultaneously.
The second is that you aren't debugging, and likely aren't even compiling to 
test it-  you're just coding.
Depends on your development environment. For example, with a traditional Smalltalk development process you debug as you code (or code as you debug, depending on how you look at it ;-).
Catch 4 is copy paste-  a lot of the time you have similar boilerplate in 
multiple places, or you have the same code in multiple places and may not have 
broken it into functions.  This can bloat line count.  I wouldn't be surprised 
if at least 10% of any figure like 6K in a weekend was from this.
Don't forget codegen as well. That's a famous way to cheat.
Now given the over the weekend line, I think 6K LOC of code where the design is 
already done (or its a hack so there is no design) and debugged to a reasonable 
degree is doable, for a very good programmer.  I would never expect it to be 
consistant though.  It was likely an exaggeration or a 1 time thing.
Yeah, I agree. This is the kind of thing that you can't sustain (unfortunately).

I will say that my observation of the "amazingly productive coder" isn't really the amount of code they produce. It is mostly how cleanly they think about what needs to be coded and actually find ways to do lots with very little code. This is how you get coders who can produce 10x as much as others.

--Chris

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to