View Single Post
Old Apr 8th, 2007, 10:26 PM   #16
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
It's pretty straightforward. Say you've making a software product to run on existing desktop machines for the largest part of the market, non-technical people. How many of those people are actually running multiple processes? Even if they have several services running, the usage is minimal. You can pretty much use all the resources you expect to find on the average machine, which is plenty.

Your recurring cost for the product is distribution and support (if you offer support). Buying, burning, and shipping discs, or maintaining servers for download, or whatever, and a few low-grade techs for support. Not much.

Your cost of development is non-recurring; you can divide that cost, however much it is, by all the copies you wind up selling. Twenty thousand or two million. A quickly developed program is going to amortize one hell of a lot quicker, and be more profitable, even if it's not polished and minimal.

Quality is great (see my old signature), even primary in mission-critical software, but without performance, it starves people instead of feeding them. You have to shoot for balance and reality, or put yourself and your coworkers in the unemployment line. If you can't work it out, you'll not rise above code-monkey unless you win the lotto or inherit from someone else's hard work. I have pride in my work; it was better than the competition and fed me well. Undue pride or unduly costly goals may taste good, but they aren't very filling. Your investors will notice.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code.
Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers
DaWei is offline   Reply With Quote