Hacker News new | ask | show | jobs
by carsongross 3921 days ago
I now believe there is one at least silver-alloy bullet: simplicity, painstakingly maintained and violently defended by well paid developers.
3 comments

Agreed. If they're allowed to. I wrote much the same thing here: http://web.onetel.com/~hibou/blog/NoSilverBullet.html

One of the problems is that many people actually prefer complexity over simplicity for a variety of reasons: they wrote it, and it will be simplified over their dead bodies; or it needs all these features to satisfy all their lusers; or they want to show off how smart they are; or it's harder to reverse-engineer, ...

Joel Spolsky (who otherwise talks a lot of sense) defends bloatware here: http://www.joelonsoftware.com/articles/fog0000000020.html

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.

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).
It's less of a bullet and more of a main battle tank - without proper armament it won't defeat the target, but it does protect you and lets you drive through many obstacles like they weren't even there.