Empiriceme · Precept · Normative Principle

Rule of Least Power

Also called Principle of Least Power

Choose the least powerful language adequate to the purpose, because less powerful information is easier to analyse, reuse and secure.

Berners-Lee's design axiom, formalised by the W3C Technical Architecture Group in 2006. Often misattributed to Alan Kay, and distinct from the principle of least privilege.

In practice

  • A page marked up as structured text can be read by a search engine, a screen reader and a printer; the same page drawn by a script can be read by none of them.
  • A configuration file written in a full programming language cannot be safely analysed by a tool; one written as data can be.
Possible explanations
The explanation is analysability: a less powerful language admits fewer possible behaviours, so tools can reason about what a document or program will do, which is impossible in general for a powerful one.
In its favour
It is the design reasoning behind formats that outlived their software, and the security case is straightforward, since a data format that cannot express computation cannot be made to execute anything.
Against it
It is a design axiom rather than a measured finding, and taken too far it produces formats that accumulate ad hoc extensions until they are powerful anyway, which is the usual criticism.
Standing
Berners-Lee's design axiom, formalised by the W3C Technical Architecture Group in 2006. Often misattributed to Alan Kay, and distinct from the principle of least privilege.
Further reading
Wikipedia
Subject
Technology & Software
Essay
Design rules that engineers pass down

Search every entry·Every entry, A to Z