Hacker News new | past | comments | ask | show | jobs | submit login

> A part of a codebase can be complex (sometimes the problem that is being solved necessitates a complex algorithm / codebase) but yet well written.

I tend to use the following terminology to distinguish necessary an unnecessary complexity:

                  | Easy Problem | Hard Problem
    Easy Solution | Simple       | Simplistic
    Hard Solution | Complicated  | Complex



Is a hard problem with an easy solution really a hard problem? A more accurate chart might look like this:

                     | Simple Problem | Complex Problem
    Simple Solution  | Easy           | Elegant
    Complex Solution | Stupid         | Necessary


I think simplistic was meant to imply that it wasn't really a solution, just good enough for you.

That said, you can say the same case for your matrix: if there's a simple solution to a complex problem that actually solves it, is it really a complex problem?


Sure. "Complex" problems are problems with many facets/moving parts (I recommend watching the Rich Hickey talk "Simple Made Easy"). These problems can in some cases have simple (as in, few facets/moving parts) solutions, although those solutions may not be easy to implement.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: