Don Norman, Simplicity Is Not the Answer:
We want devices that do a lot, but that do not confuse, do not lead to frustration. Ahah! This is not about simplicity: it is about frustration. The entire debate is being framed incorrectly. Features is not the same as capability. Simplicity is not the same as usability. Simplicity is not the answer.
Norman goes on to explain how you can take a confusing mass of features and turn it into something less frustrating:
- Modularize into understandable clusters
- Map clearly from actions to results
- Model the ideas and actions cohesively
The article is about interaction design, but it fits just as well in designing programming languages and software.