Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I slept on the floor in college, didn't even own a bed for about a year. Things change when you have an SO;) Extrapolating from that, simplification may need to take into account changing conditions - what was nice, simple code may need to take on complexities when the problem you're trying to solve changes. This often happens once you ship something the first time - the critical thing is being aware of it and refactor once you can see the next simplicity present itself. Often there is an interim complexity that is necessary when you don't have enough data to simplify further.


I think the distinction you are looking for is Fred Brooks' "accidental" vs. "essential" complexity. To paraphrase Einstein, your code should be as simple as possible but no simpler.

If you've ever tried to write your own code to handle dates you'll notice that much of the essential complexity comes from the crazy rules we use to define calendar years, etc.

I suspect a SO falls into the latter category. :)




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

Search: