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

And I would argue that this is The Right Way to think about things. When you're working in a shared-nothing world, suddenly the lines you draw between components become much more important. Thinking about these lines and drawing them carefully almost always results in more modular and more flexible software.


"much more important" is actually "much more expensive to cross".

Expensive lines make systems less flexible, not more. They lead to copies for efficiency, aka denormalization, which is another word for "bug waiting to happen". While this can be dealt with, doing so involves lots of nasty tradeoffs, with bugs a common outcome.

More to the point "more modular and more flexible" is neither necessary nor sufficient for producing good software.


"more modular and more flexible" is neither necessary nor sufficient for producing good software

I'm glad I'm not the only one that thinks this way. I wish I could upmod by 1 million.


I would argue that it is necessary, though not sufficient. Writing black box tests for non-modular code is a nightmare.




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

Search: