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

That's more succinctly defined as abstraction.


The key point is the top-down approach. Many programmers come up with their abstractions by thinking "what can I make?", but it's often better to think "what do I want to make, and in a perfect world, how would I want to express that?", and going down from there.


SICP called it design by wishful thinking; I always liked that.


You really should approach from both ends.

You have to consider the hardware if you want any amount of efficiency. You should consider your 'wishful thinking', because those wishes sometimes come true (not always, but often enough that its worthwhile to think about the ideal)




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

Search: