- Principle of Least Power
In
web programming , the design principle of least power states that, given a choice among computer languages, classes of which range from descriptive to procedural, the less procedural, more descriptive the language one chooses, the more one can do with the data stored in that language.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 starting with the plainly descriptive (such as the content of most databases, or HTML) though logical languages of limited propositional logic (such as access control lists), though declarative languages on the verge of being Turing Complete (PDF ), through those which are in fact Turing Complete though one is led not to use them that way (XSLT ,SQL ) to those which are completely procedural (Java, C).As explained by
Tim Berners-Lee [cite web | authorlink = Tim Berners-Lee | author = Berners-Lee, Tim | url = http://www.w3.org/DesignIssues/Principles.html#PLP | title = Axioms of Web architecture | accessdate = 2002-01-14] :Computer Science in the 1960s to 80s spent a lot of effort making languages which were as powerful as possible. Nowadays we have to appreciate the reasons for picking not the most powerful solution but the least powerful. The reason for this is that the less powerful the language, the more you can do with the data stored in that language. If you write it in a simple declarative form, anyone can write a program to analyze it in many ways. The Semantic Web is an attempt, largely, to map large quantities of existing data onto a common language so that the data can be analyzed in ways never dreamed of by its creators. If, for example, a web page with weather data hasRDF describing that data, a user can retrieve it as a table, perhaps average it, plot it, deduce things from it in combination with other information. At the other end of the scale is the weather information portrayed by the cunning Java applet. While this might allow a very cool user interface, it cannot be analyzed at all. The search engine finding the page will have no idea of what the data is or what it is about. This the only way to find out what a Java applet means is to set it running in front of a person.References
External links
B. Carpenter, Editor: " [ftp://ftp.isi.edu/in-notes/rfc1958.txt Architectural Principles of the Internet] " Internet Architecture Board, June 1996,
RFC1958
Wikimedia Foundation. 2010.