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

> If you've designed something well, then all changes can be easily accommodated.

I disagree with that. If you can easily accomodate any changes it means you probably over-designed and over-generalized and made your solution too complicated.

> But to "design something well" requires omniscience, because it depends on understanding the problem, and in what ways that problem will likely change in future.

Yes, that is the problem. A lot of good programmers are prone to over-generalizing, even for code that should be simple and straight-forward. Sometimes it pays off, but not always.

> Fred Brooks: Build one to throw away. You will anyway.

I tend to approach programming as experimentation. "Let's build something and try it out" kind of approach. Then "if it works, we'll enhance it, otherwise we'll throw it away and try something else". It seems wasteful but with a language like Python it is easy to prototype things out.




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

Search: