Harman Patil (Editor)

Rule of least power

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

In programming, the rule of least power is a design principle that "suggests choosing the least powerful [computer] language suitable for a given purpose". Stated alternatively, given a choice among computer languages, classes of which range from descriptive (or declarative) to procedural, the less procedural, more descriptive the language one chooses, the more one can do with the data stored in that language.

This rule is an application of the principle of least privilege to protocol design.

Rationale

Originally proposed as an axiom of good design, the term is an extension of the KISS principle applied to choosing among a range of languages ranging from

  • the plainly descriptive ones (such as the content of most databases, or HTML),
  • logical languages of limited propositional logic (such as access control lists),
  • declarative languages on the verge of being Turing-complete,
  • those that are in fact Turing-complete though one is led not to use them that way (XSLT, SQL),
  • those that are functional and Turing-complete general-purpose programming languages, to
  • those that are "unashamedly imperative".
  • As explained by Tim Berners-Lee:

    References

    Rule of least power Wikipedia