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