In programming, the rule of least power is a design principle that "suggests choosing the least powerful [computer] language suitable for a given purpose".[ 1] 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.[ 2] The Rule of Least Power is an example in context of the centuries older principle known as Occam's razor in philosophy. In particular, arguments for and against the Rule of Least Power are subject to the same analysis as for Occam's razor.[citation needed ]
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