This is a blog post worth reading, esp. for those of us who came from a pure mathematics background. It is a reality check when we are working with software engineering.
A more general solution is always better than a special-case one, right? This is often the case in something like, say, mathematics. The problem here is that software development is not mathematics: it's engineering.Read more at http://blogs.oracle.com/smarks/entry/confusing_complexity_with_value (previously Sun Microsystems)