Re: The Rule of Least Power

On 6/28/2012 9:16 AM, Kevin Braun wrote:
> In fairness to the authors of the document that Roger mentioned
> (http://www.w3.org/2001/tag/doc/leastPower.html), I think it should be
> pointed out that they actually were addressing, I think, a more narrow
> question.

> The referenced paper gives the rule of least power as "Use the least
> powerful language suitable for expressing information, constraints or
> programs on the World Wide Web."  The paper is concerned with maximizing
> the reusability of information published on the Web.  I don't believe
> they intended to establish a broad architectural principle such as
> "choose the least powerful, suitable way to do anything".


Thank you. That's exactly right. I confess that I find this thread a little 
troubling, since the finding seems to be criticized for things it isn't saying.

Let's imagine what could have been a simple Web page with, say, a price 
list. If you put it up on the Web in HTML, automated agents like search 
engine crawlers have at least a decent chance of parsing the content and 
extracting at least some of the intended information. If you write the same 
page using (to take an extreme example), an empty <body>, and use 
Javascript at runtime to build up a DOM that renders the same price list, 
then few crawlers will do as well figuring out what's going on. Indeed, we 
know that a crawler can't even determine in all cases whether the 
Javascript will complete its work (the halting problem).

So the finding is saying: consider that tradeoff when you publish 
information on the Web. It's not saying "don't use Javascript"; it's saying 
that when you do there's often a cost. I think that's an important and 
valid message.

Roger Costello paraphrased the rule as:

> The rule of least power says that given a choice of suitable ways to implement something, choose the least powerful way.

I'm glad Roger found the rule interesting and useful, but I think the 
paraphrase is way too strong, and much of this thread seems (to me) to be 
critiquing that stronger formulation. First of all, as already noted the 
rule in the Finding is particular to the Web:

"Good Practice: Use the least powerful language suitable for expressing 
information, constraints or programs on the World Wide Web."

Furthermore, immediately under that guidance, the Finding goes on to say:

"In aiming for simplicity, one must of course go far enough but not too 
far. The language you choose must be powerful enough to successfully solve 
your problem, and indeed, complexity and lack of clarity can easily result 
from clumsy efforts to patch around use of a language that is too limited. 
Furthermore, the suggestion to use less powerful languages must in practice 
be weighed against other factors. Perhaps the more powerful language is a 
standard and the less powerful language not, or perhaps the use of simple 
idioms in a powerful language makes it practical to use the powerful 
languages without unduly obscuring the information conveyed (see 3 Scalable 
language families). Overall, the Web benefits when less powerful languages 
can be successfully applied. "

Maybe I'm too close to this one,  but that seems pretty balanced and 
appropriate to me.

Noah

Received on Monday, 2 July 2012 00:49:56 UTC