Is there a good word to describe all three of them? Currently, I'm writing my thesis, and it's about designing an API. So one of my goals is to achieve all of these: simplicity, expressiveness and error avoidance. Meaning, that the API should be self-explanatory, be expressive and help the programmer to produce less errors. Any ideas how to combine all of these in one word?
closed as not constructive by FumbleFingers, Monica Cellio, Robusto, tchrist♦, cornbread ninja 麵包忍者 Dec 23 '12 at 18:16
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.
"intuitive" - as in this definition of intuitive software:
Application programs that have a friendly interface and work like users would expect. Menu functions are available in a logical order that one finds natural. The most common functions are presented in one menu or are located at the top of the menu list rather than being buried in rigid hierarchies that make sense only to the programmer who wrote the program. In other words, extremely rare software!
I don't mean to demean Robusto's idea to “coin a new word (or acronym) and define its meaning as those three things”, but suggest that you instead re-purpose an existing word, for example robust, which has several suitable senses:
straightforward, not given to or confused by uncertainty or subtlety;
Resistant or impervious to failure regardless of user input or unexpected conditions.
Here are some other candidates:
• balanced, in its senses of “having weight evenly distributed”, “mentally and emotionally stable”, and “presenting opposing points of view fairly and without bias”
• smooth, particularly in its sense “Without difficulty, problems, or unexpected consequences or incidents” but also in the senses “suave; sophisticated” and “natural; unconstrained”
• elegant (“Characterised by minimalism and intuitiveness while preserving exactness and precision”),
• friendly (“Having an easy relationship with something, as in user-friendly etc”),
For example, you might define a usability score, or an elegance score for an API, based on a weighted sum of its scores against your three main criteria.
The word "succinct" comes to my mind, although it doesn't really denote "error free." Still, it does convey the ideas of brevity, pithiness (i.e., meaningful preciseness), and a lack of fluff or unnecessary wordiness.