Hacker News new | ask | show | jobs
by the_af 3919 days ago
Everyone agrees with simplicity when stated in such general terms, but in practice, simplicity where?

Note that simplicity in one piece of software often leads to complexity in another. For example, a language with a minimal set of instructions may be considered "simple", but building software with it can be complex and unwieldy. A minimalist API may be elegant and concise, but lead to headaches when attempting to use it. Etc, etc.

1 comments

I don't think there there is a good objective definition for simplicity, since a large component of what I'm getting at is subjective and context-dependent, and therefore involves "appropriateness". API design is different than app building is different than container building, etc. This is why good developers are so important.

Regarding APIs, I like them to be layered: http://devblog.guidewire.com/2008/10/05/api-design/ so that code built on top of them can be as simple as possible.

Agreed. That was my point, that simplicity is subjective, so while people seem to agree that simplicity is desirable, they often disagree about where to simplify (which often comes with trade-offs).