Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Mar 25, 2013, 01:29 PM   #26
gnasher729
macrumors G5
 
gnasher729's Avatar
 
Join Date: Nov 2005
Quote:
Originally Posted by firewood View Post
You could measure this against actual project size (say in 100's of man years). Big companies have, and used to report source LOC instead of binary as a (very approx.) scale of productivity.
There is a quote from Steve Ballmer of all people making fun of IBM for doing exactly that on this thread. And "Any not completely incompetent programmer can double their productivity according to any performance metrics, without any increase in productivity. ", not by Ballmer, but still true.

There are plenty of horror stories of good developers with a brain dead manager, who write excellent code that falls short of the performance metric of the day, and then give up and start writing ****** code that exceeds everyone else's in performance metrics.
gnasher729 is offline   0 Reply With Quote
Old Mar 25, 2013, 01:33 PM   #27
dejo
Moderator
 
dejo's Avatar
 
Join Date: Sep 2004
Location: The Centennial State
Quote:
Originally Posted by MisterMe View Post
Want to talk about lines of code? Talk about APL.
Heh heh, I remember that. In university, we would fail our APL assignments sometimes if they weren't coded in a single line. And the nephew of the guy who invented that language was our TA.
__________________
dejo is offline   0 Reply With Quote
Old Mar 25, 2013, 01:46 PM   #28
notjustjay
macrumors 603
 
notjustjay's Avatar
 
Join Date: Sep 2003
Location: Canada, eh?
Quote:
Originally Posted by Sydde View Post
Given that "As a Real World Programmer." is not a complete sentence, it is hard to assess. What I suspect the professor might have been trying to say is that there are only three distinct lines of code that make up the bulk of a program, that you will write them many thousands of times with slight variations.

A bit of an exaggeration, but not too far off from reality.
It is true that we seem to solve the same problems over and over again, just in different applications and in different languages.
__________________
.
notjustjay is offline   0 Reply With Quote
Old Mar 25, 2013, 02:58 PM   #29
firewood
macrumors 603
 
Join Date: Jul 2003
Location: Silicon Valley
Quote:
Originally Posted by gnasher729 View Post
And "Any not completely incompetent programmer can double their productivity according to any performance metrics, without any increase in productivity. ".
That's why it's not a performance metric. It's a measure of relative project size for large projects after the fact. If a programing team padded their work by 2x on 2 projects, they might still end up with about the same order of LOC on each.
firewood is offline   0 Reply With Quote
Old Apr 1, 2013, 10:40 PM   #30
softwareguy256
macrumors regular
 
Join Date: Jun 2010
Sorry dudes as a professional and entrepreneur in the business making large amounts of cash, LOC matters.

I mean you could write a crappy 10k line toy app and sell 5000 copies a year for 1.99 before the 30% take and taxes, big freaking deal you made less than 10k a year.

If you want to scale and make the big bucks you're gonna need features. And thats going to take many lines of code. We're talking 500k to millions. Go ahead, cheat 10x by writing in the most verbose fashion, most of you will get tired and quit waaay before the 100k mark. It takes top talent to produce even 100k of code in 1 year that is coherent and stable enough to be built on for year 2, 3, 4, and on.
softwareguy256 is offline   0 Reply With Quote
Old Apr 1, 2013, 10:56 PM   #31
softwareguy256
macrumors regular
 
Join Date: Jun 2010
Think about what you said, you're greatest achievement is getting paid to add no new features that will increase sales and help cover your salary. Money must grow on trees or this is a fast path to a pink slip.

Quote:
Originally Posted by lee1210 View Post
One of my greatest achievements working in software was culling thousands, maybe 10s of thousands of lines of unused code from a system. The president of the company told me this was not worthwhile, because there "are no bugs in code that doesn't run". The truth is that there are bugs, but you don't know if they'll ever be run or not, so you don't know if you should fix them. Our build was faster, our greps were faster, and it was easier to follow what was going on.

Other instances of reducing LoC involve removing duplication, reducing complexity, increasing modularity, etc. is a joy. One way to look at LoC is how expensive it is to maintain and enhance a system.

-Lee
softwareguy256 is offline   0 Reply With Quote
Old Apr 1, 2013, 11:47 PM   #32
lee1210
macrumors 68040
 
lee1210's Avatar
 
Join Date: Jan 2005
Location: Dallas, TX
Quote:
Originally Posted by softwareguy256 View Post
Think about what you said, you're greatest achievement is getting paid to add no new features that will increase sales and help cover your salary. Money must grow on trees or this is a fast path to a pink slip.
Improving build performance, increasing dev productivity.
Reducing time to find and fix bugs.
Reducing surface area to verify when implementing features.
Clarifying and documenting true dependencies/structure.
Gaining insights into system structure, increasing effectiveness.
Cleaning up a big mess, making it easier for developers to understand system structure, decreasing training time for new devs.

If you're deciding who gets pink slips, and you hand them out to those that take initiative to solidify a system's foundation, improve tools and procedures, and gain deep system knowledge and expertise, I weep for the state of a large system under your tutelage after a few years.

Adding features is great. Making a system easier to add features to easily and safely is better. You may disagree, more power to you.

-Lee
lee1210 is offline   1 Reply With Quote
Old Apr 2, 2013, 02:43 AM   #33
Sander
macrumors 6502
 
Join Date: Apr 2008
My guess is that softwareguy256 works in a small company. Maybe even running his own one-man show. That's great; the paying customers obviously couldn't care less about the build efficiency or the amount of dead code; they pay for features.

If I started a new company, I'd probably hire a few guys like softwareguy256, who clearly are feature-oriented. Features sell.

However, if my company grows beyond, say, 10 people, and we're making software which still pays our rent 10 years from now, then I would be desperately looking for a lee1210: Someone who is not too proud to clean up other people's mess and makes sure we can still add "selling features" next year, and the years after that.

Features are an asset, code is a liability.
Sander is offline   0 Reply With Quote
Old Apr 2, 2013, 12:44 PM   #34
notjustjay
macrumors 603
 
notjustjay's Avatar
 
Join Date: Sep 2003
Location: Canada, eh?
Quote:
Originally Posted by softwareguy256 View Post
Sorry dudes as a professional and entrepreneur in the business making large amounts of cash, LOC matters.

I mean you could write a crappy 10k line toy app and sell 5000 copies a year for 1.99 before the 30% take and taxes, big freaking deal you made less than 10k a year.

If you want to scale and make the big bucks you're gonna need features. And thats going to take many lines of code. We're talking 500k to millions. Go ahead, cheat 10x by writing in the most verbose fashion, most of you will get tired and quit waaay before the 100k mark. It takes top talent to produce even 100k of code in 1 year that is coherent and stable enough to be built on for year 2, 3, 4, and on.
What?

You're talking about two different things here: the price which you choose to sell an app for to be profitable, and the features you include in your app.

If you want to write code professionally then absolutely you want to write good code with good features to sell your product. (Edit: originally I wrote "lots of features" but I realized this is not necessarily true; sometimes you just want the code to do one thing and do it in a really bombproof way).

LOC should not be the metric by which you determine whether you have been successful. It can however help you estimate the cost of the labour involved (tools such as SEER are designed for this) since obviously higher LOC means higher cost to develop and maintain the code. This can influence the price you sell the app at, but not necessarily.
__________________
.

Last edited by notjustjay; Apr 3, 2013 at 09:35 AM.
notjustjay is offline   0 Reply With Quote
Old Apr 3, 2013, 01:57 PM   #35
ArtOfWarfare
macrumors 603
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
Metric for measuring performance:

Features / (LOC * Development Time)

Although it's hard to define a feature and it's hard to define development time... IE, I want to include time spent relearning what the written code does months later in this time...
ArtOfWarfare is offline   0 Reply With Quote
Old Apr 4, 2013, 02:47 PM   #36
firewood
macrumors 603
 
Join Date: Jul 2003
Location: Silicon Valley
Quote:
Originally Posted by ArtOfWarfare View Post
Metric for measuring performance:

Features / (LOC * Development Time)
...
Unless you end up with quick&dirty code that is too terse to be maintainable. See the obfuscated code contest for extreme examples.

All these measures are only for "on average" and "assuming everything else is roughly equal".
firewood is offline   0 Reply With Quote
Old Apr 6, 2013, 12:04 PM   #37
Sydde
Thread Starter
macrumors 68000
 
Sydde's Avatar
 
Join Date: Aug 2009
I thought "features" was a synonym for "bugs"?
__________________
You got to be a spirit. You can't be no ghost.
Sydde is online now   0 Reply With Quote
Old Apr 6, 2013, 04:46 PM   #38
ArtOfWarfare
macrumors 603
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
Quote:
Originally Posted by Sydde View Post
I thought "features" was a synonym for "bugs"?
""features"" is a synonym for "bugs". "features" is not.
ArtOfWarfare is offline   0 Reply With Quote
Old Apr 7, 2013, 02:16 PM   #39
Nightarchaon
macrumors 65816
 
Nightarchaon's Avatar
 
Join Date: Sep 2010
SO the up shot is,

How long is a line of code, is = , How long is a piece of string.
__________________
iWatch in action http://media.joe.ie/wp-content/uploa...ael-Knight.jpg
MacBook Pro/iPad Mini/TV1/iMac/iPhone5
Nightarchaon is offline   1 Reply With Quote
Old Apr 8, 2013, 07:36 PM   #40
MattInOz
macrumors 68030
 
MattInOz's Avatar
 
Join Date: Jan 2006
Location: Sydney
Quote:
Originally Posted by ArtOfWarfare View Post
""features"" is a synonym for "bugs". "features" is not.
Or this versions "bugs" are next versions "features".
__________________
There is no such thing as "Collective Wisdom"
[ iPhone 5s, iPad Mini, 13" MacBookPro 2.7Ghz, 27"Al iMac i7, Black MacBook 13"]
MattInOz is offline   1 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
URGENT: can I "add a line" and "buy full price" at APPLE store? Bossyman iPhone 0 Sep 21, 2012 08:26 AM
*Purchasing a prepaid at&t line to use as "dummy line" & upgrade for iPhone 5?* hunger4more80 iPhone 5 Sep 13, 2012 08:40 PM
AppStore:"The code you entered is not recognized as valid code" (or Already Redeemed) sevimli OS X 10.8 Mountain Lion 223 Jul 27, 2012 04:50 AM
Top of the line 13" Air or Higher-specced 13" Pro? dominicdiep MacBook Air 6 Jun 11, 2012 06:57 PM
"Boot failed! Press any key to enter command line." Ravich Windows, Linux & Others on the Mac 0 Jun 6, 2012 06:51 PM

Forum Jump

All times are GMT -5. The time now is 07:54 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC