FacebookTwitter
Hatrack River Forum   
my profile login | search | faq | forum home

  next oldest topic   next newest topic
» Hatrack River Forum » Active Forums » Books, Films, Food and Culture » Speed of Programming

   
Author Topic: Speed of Programming
Nighthawk
Member
Member # 4176

 - posted      Profile for Nighthawk   Email Nighthawk         Edit/Delete Post 
According to my co-worker, the self proclaimed "best and highest paid programmer in Florida" (no, I'm not making that up - he really, seriously said that), the average programmer's daily output is only ONE HUNDRED lines of fully tested and functional code.

This is coming from a guy that's spent almost the last two weeks trying to get a code generator to write code for him so he can create a datbase business object layer, but that's not the reason for this post.

I didn't believe the "one hundred lines" bit because that sounds absurdly low. But, guess what: it's DOCUMENTED!

quote:
At the start of a project, a "star" programmer wrote 160 lines of code in two days, while an average programmer took four days to produce 100 lines of code.
Looking through other sites and a Google search, I've seen senior developers state that "...some places put it at 10 and 50 lines per day, which seems high..." and such. That, to me, is unimaginable.

Between yesterday and today, I have output and electronically verified a total of over eight thousand lines of code, tested, bugs removed and in production on a live web server. And, no, that's not "copy/paste" or duplicated code, nor does it count HTML pages; that's raw source pages.

Don't get me wrong; I'm not trying to brag here, but is the expectation really that low? Am I missing something here? Am I doing somethign horribly wrong?

I figured I'd ask other fellow developers out there to see if I'm a freak or if everyone else is mistaken.

Posts: 3486 | Registered: Sep 2002  |  IP: Logged | Report this post to a Moderator
Launchywiggin
Member
Member # 9116

 - posted      Profile for Launchywiggin   Email Launchywiggin         Edit/Delete Post 
That does sound low. I'm not a programmer myself (took 1 semester of programming fundamentals before switching majors), but my cousin is supposedly blazingly fast and could probably knock out 100 lines of code in hour.
Posts: 1314 | Registered: Jan 2006  |  IP: Logged | Report this post to a Moderator
TomDavidson
Member
Member # 124

 - posted      Profile for TomDavidson   Email TomDavidson         Edit/Delete Post 
In my experience, a hundred lines of code is probably pretty accurate. Of course, that depends hugely on what it is they're writing. The limitation isn't typing speed, of course.
Posts: 37449 | Registered: May 1999  |  IP: Logged | Report this post to a Moderator
MightyCow
Member
Member # 9253

 - posted      Profile for MightyCow           Edit/Delete Post 
Way to throw off the curve, Nighthawk! Everybody else is trying to give themselves a reverse raise and make sure they still have a job in 6 months. Get with the program man.

I hope, when someone asks you for a time estimate on a project, you know to pad it at least 50%.

Posts: 3950 | Registered: Mar 2006  |  IP: Logged | Report this post to a Moderator
Will B
Member
Member # 7931

 - posted      Profile for Will B   Email Will B         Edit/Delete Post 
Nighthawk, tell us about your tools (language, etc.). Your level of productivity is stunning.
Posts: 1877 | Registered: Apr 2005  |  IP: Logged | Report this post to a Moderator
Dav
Member
Member # 8217

 - posted      Profile for Dav           Edit/Delete Post 
8000 lines of code in two days sounds pretty high. If it's well organized, correctly functional, and easy to maintain, then that's a good thing. A bit superhuman, but good if you have such powers.

I would guess my own output on a day spent programming is often around 100 lines, so I wouldn't be surprised if that's normal. I've found there's often an inverse correlation between how many lines I have to write for a function or module, and how well I've thought it out. And such shorter pieces of code tend to be a lot easier to maintain.

Posts: 120 | Registered: Jun 2005  |  IP: Logged | Report this post to a Moderator
TomDavidson
Member
Member # 124

 - posted      Profile for TomDavidson   Email TomDavidson         Edit/Delete Post 
What gets me is that I've spent the better part of the last five months writing an ERP for our company, and the entire package so far -- which is almost feature-complete -- currently checks in at 11,200 lines of code. And this is a full .NET 3.0 deployment with an optional Windows Forms client tied back into a SQL server middle tier and an AS/400 backend, meant to integrate all operations for all of our academic and service departments.

Like I said, it probably boils down to what you're coding. I have no doubt that if I were doing graphics optimization or something that didn't use basic Drawing objects, the total line count would balloon.

Posts: 37449 | Registered: May 1999  |  IP: Logged | Report this post to a Moderator
Nighthawk
Member
Member # 4176

 - posted      Profile for Nighthawk   Email Nighthawk         Edit/Delete Post 
quote:
Originally posted by Will B:
Nighthawk, tell us about your tools (language, etc.). Your level of productivity is stunning.

No tools, really. Visual Studio only, and all code written in C#.

This other guy I work with harps on about code generators, and is surprised that I don't use him. Yet if he uses the code generators he praises, it takes him seven days to do what I do in three. Hence my question; maybe I'm missing something, or my processes are simply a result of being a programmer for 20+ years.

The past couple of days have been an exceptional situation and I've been working long hours; we recently did an advertising launch on MySpace and other venues, so we are trying to adjust our product to improve ad performance.

quote:
I hope, when someone asks you for a time estimate on a project, you know to pad it at least 50%.
Well, DUH! [Wink]

50% only? Hah! I multiply by three usually... If I feel it takes two days, I say a week. Of course, in crunch situations I've apparently made my speed way too apparent, so now they expect that performance regardless of what I'm doing.

Posts: 3486 | Registered: Sep 2002  |  IP: Logged | Report this post to a Moderator
Aegon
Member
Member # 7017

 - posted      Profile for Aegon   Email Aegon         Edit/Delete Post 
I guess you are just that amazing.
Posts: 8 | Registered: Nov 2004  |  IP: Logged | Report this post to a Moderator
Tstorm
Member
Member # 1871

 - posted      Profile for Tstorm   Email Tstorm         Edit/Delete Post 
Heh. I don't honestly remember trying to count the lines. I mean, the thought occurred to me, but I'm sure the results would only show I'm about average.

I also use Visual Studio almost exclusively. But everything is a mixture of classic ASP and C#.

Maybe next time I start a new app, I'll count the lines at the end of the day. [Smile]

Posts: 1813 | Registered: Apr 2001  |  IP: Logged | Report this post to a Moderator
Mike
Member
Member # 55

 - posted      Profile for Mike   Email Mike         Edit/Delete Post 
100 lines sounds a little high, actually. But it really depends on what kind of work you're doing. If you're modifying an existing, mature product (say, fixing bugs), you're probably not going to be writing many new lines. If you're writing something from scratch you'll naturally generate more lines, and if you know exactly what you're doing every step of the way, well, 8000 sounds high, but not impossible.

Dav hit the nail on the head. More lines == more pain, so I try to get what I need done the simplest, shortest, and most straighforward way possible. Premature optimization is bad, mmkay?

Posts: 1810 | Registered: Jan 1999  |  IP: Logged | Report this post to a Moderator
Dagonee
Member
Member # 5818

 - posted      Profile for Dagonee           Edit/Delete Post 
When you say "lines of code," do you mean the number of lines reported in the editor?

Because 100 lines of code for me usually takes up at least five to ten times that much space in the editor, counting comments, variable declarations, and spacing.

Posts: 26071 | Registered: Oct 2003  |  IP: Logged | Report this post to a Moderator
Mike
Member
Member # 55

 - posted      Profile for Mike   Email Mike         Edit/Delete Post 
You declare your variables?! No wonder my code never compiles. Next you'll tell me I have to match my parens and curly braces. [Eek!]
Posts: 1810 | Registered: Jan 1999  |  IP: Logged | Report this post to a Moderator
James Tiberius Kirk
Member
Member # 2832

 - posted      Profile for James Tiberius Kirk           Edit/Delete Post 
I remember writing a program where I had an integer called homex1, but on some occasions I actually typed homexl. In the IDE's font, the number 1 and the letter l looked very similar. It took me hours to figure out what went wrong.

Undeclared variables + typos = much fun.

--j_k

Posts: 3617 | Registered: Dec 2001  |  IP: Logged | Report this post to a Moderator
Mike
Member
Member # 55

 - posted      Profile for Mike   Email Mike         Edit/Delete Post 
Malbolge is much fun.
Posts: 1810 | Registered: Jan 1999  |  IP: Logged | Report this post to a Moderator
Steev
Member
Member # 6805

 - posted      Profile for Steev           Edit/Delete Post 
There are some topics where I just can't sit back and say nothing.

This whole "lines of source code in a day" thing is such a red herring. It's a throw back to the old days of computers where it took time and resources to write code because of the storage and entry method of the day such as punch cards and so forth. What does it actually mean in today's world of software engineering? Not much. But the old school programmers and managers don't see a difference between writing code and designing software. And they still, in my mind, can't justify the quantification of source lines per day crap.

I know programmers who can write a hundred lines of code in a day and then in the next day rewrite all 100 again and again until they get something working. Basing productivity on the number of lines of code written all stems from genuinely mistaking writing code for designing software as if they are the same thing.

Writing code is only an implementation stage and should only be done after the real work of design has been completed (not including prototyping). I've seen way to many programmers toot their own horn about how many lines of code they've written and how productive they are only to find out that someone else has to spend the next 6 months debugging their code.

As an example, I spent 4 months on a project where only three weeks of it was actually writing code. It was in and out of testing within a week before the QA department declared it good for release. The resulting application had 15000 odd lines of code.

My colleague who has been a software engineer longer than I have started off the first two months writing code and another 6 months in and out of QA testing trying to debug it until eventually releasing it claming that some bugs are just not possible to fix. He wrote 7000 lines of code. (I was eventually asked to debug it after numerous customer complaints.)

And what did I get time and time again from idiot management? I was told that I wasn't as productive enough because I took too long to write software. The problem being that it was almost three months before they SAW me writing code. And they didn't understand why I was drawing pictures (UML) most of the time. (I was the only one who had design documents to support my applications.) Where they saw everyone else dig right in and start writing code or in other words being productive. Because writing code is productive and designing software is goofing off.

They did admit that my accuracy was exceptional. Still they gave me the boot nonetheless.
That was a good thing because I was eventually able to join a company that actually did design software.

And thankfully I've managed to avoid the paranoid management types that believe the source code must be obfuscated to discourage reverse engineering.

Posts: 527 | Registered: Aug 2004  |  IP: Logged | Report this post to a Moderator
BlueWizard
Member
Member # 9389

 - posted      Profile for BlueWizard   Email BlueWizard         Edit/Delete Post 
Here is something you may not know about programmers and especially 'C'-language programmers, but they are obsessed with 'lines of code'. If you sit at a near by table and listen to them talk over lunch, that is the main topic of conversation.

"I took the program and reduced it from 500 lines to only 100 lines of code."

What they don't tell you though is that rather than improve the efficiency of the programming, they just compounded the lines.

In 'C' programming apparently you can combine separate lines of code into one compound line of code accomplishing the same thing.

It goes something like this, as an illustration -

Programmer-1 writes -

Bill is tall.
Bill is a boy.
Mary is tall, therefore Mary is a boy.

Programmer-2 writes -

Bill is tall, Bill is a boy, Mary is tall, therefore Mary is a boy.

Three lines of 'code' have now become one.

So, 100 lines in the most common programming language ('C' or a variation of it) can actually be 1000 computer commands, but they have been 'nested' at 100 commands per line of code.

Don't know that that adds, but there it is.

Steve/BlueWizard

Posts: 803 | Registered: May 2006  |  IP: Logged | Report this post to a Moderator
Nighthawk
Member
Member # 4176

 - posted      Profile for Nighthawk   Email Nighthawk         Edit/Delete Post 
quote:
Originally posted by Steev:
And what did I get time and time again from idiot management? I was told that I wasn't as productive enough because I took too long to write software. The problem being that it was almost three months before they SAW me writing code. And they didn't understand why I was drawing pictures (UML) most of the time. (I was the only one who had design documents to support my applications.) Where they saw everyone else dig right in and start writing code or in other words being productive. Because writing code is productive and designing software is goofing off.

Yesterday, the two owners asked for my opinion on my co-worker, the designer, because in their own words they are wondering why he hasn't actually written any code yet.

I've tried to explain to them the importance of design, and that he has contributed a significant amount to the project without actually coding anything, but it doesn't sink in. He's getting a hell of a lot of flak for a billing system he's been "designing" for over two weeks now, and has yet to write a single line of code for. I know it's necessary to do it that way, but the owners have no way of gauging productivity if it isn't hard code and functional, visible components.

I'm afraid that his lack of writing code might get him fired, because those that don't know any better see him as unproductive and not visibly contributing to the product. His design recommendations probably have saved me weeks of work, but that means nothing to the higher authorities.

I even have problems rewriting things; if I rewrite something because it's badly written in the first place and needs improvement, if it doesn't have a visual improvement it means nothing.

I rewrote an entire chat room system once, and they asked me "so what's new about it?"

"Uh... nothing really. Only it won't give us problems in the future."

"And that took you how long?"

***grumble...***

I know counting lines of code doesn't mean squat. I wrote thousands of lines of code because they're necessary and, in this case, it can't be any shorter (they were like sixty different web pages, each page with different functionality; there were very little shared elements that didn't already exist). But the higher authorities are happy to see me churn out a thousand lines of code in an hour, but get upset if I spend an hour looking for one that contains a bug.

quote:
Bill is tall.
Bill is a boy.
Mary is tall, therefore Mary is a boy.

Programmer-2 writes -

Bill is tall, Bill is a boy, Mary is tall, therefore Mary is a boy.

Well, that's bad form. For that matter, every program I've ever written can each be made in to a single line of code. [Wink]
Posts: 3486 | Registered: Sep 2002  |  IP: Logged | Report this post to a Moderator
King of Men
Member
Member # 6684

 - posted      Profile for King of Men   Email King of Men         Edit/Delete Post 
Programmer 2 would be better off fixing the bug in what Programmer 1 wrote. [Smile]
Posts: 10645 | Registered: Jul 2004  |  IP: Logged | Report this post to a Moderator
TheHumanTarget
Member
Member # 7129

 - posted      Profile for TheHumanTarget           Edit/Delete Post 
The 100 lines of code a day is missing the point of development projects. Coding is the easiest part of any development if you've gotten your data model mapped out accurately and completely first. I've seen projects completely derailed by hundreds (of concurrent) lines coded every day only to be rewritten the next week.
Posts: 1480 | Registered: Dec 2004  |  IP: Logged | Report this post to a Moderator
Steev
Member
Member # 6805

 - posted      Profile for Steev           Edit/Delete Post 
quote:
Originally posted by King of Men:
Programmer 2 would be better off fixing the bug in what Programmer 1 wrote. [Smile]

[ROFL]
Posts: 527 | Registered: Aug 2004  |  IP: Logged | Report this post to a Moderator
   

   Close Topic   Feature Topic   Move Topic   Delete Topic next oldest topic   next newest topic
 - Printer-friendly view of this topic
Hop To:


Contact Us | Hatrack River Home Page

Copyright © 2008 Hatrack River Enterprises Inc. All rights reserved.
Reproduction in whole or in part without permission is prohibited.


Powered by Infopop Corporation
UBB.classic™ 6.7.2