- From: Dimitre Novatchev <dnovatchev@gmail.com>
- Date: Mon, 10 Mar 2025 08:37:50 -0700
- To: Norm Tovey-Walsh <norm@saxonica.com>, public-xslt-40@w3.org
- Message-ID: <CAK4KnZcTKqmcVd3MMC_L1Jq7nAT8x2SD-gZ1i_EkktaBLMehAA@mail.gmail.com>
On Mon, Mar 10, 2025 at 2:13 AM Norm Tovey-Walsh <norm@saxonica.com> wrote: > Hi folks, > Hi folks, > > We had a long discussion about PR #1735 last week. We seem to have several > folks in favor of dropping the $position argument and several folks in > favor of keeping it. > > I’m going to put it on the agenda, but unless someone has a new argument > that they think will be persuasive (one way or the other), I don’t think > there’s much value in spending a lot more time discussing it. > > KISS - it is that simple. KISS is a long established design principle, meaning "*Keep it simple, stupid*", and it has been adhered to since 1960 in critical designs and software applications by the US Navy, the United States Air Force, etc. It is meant to save lives - literally. It has many variants that many different people came up with independently, such as: - Occam's razor <https://en.wikipedia.org/wiki/Occam%27s_razor>; - "Simplicity is the ultimate sophistication"; - Shakespeare <https://en.wikipedia.org/wiki/Shakespeare>'s "Brevity is the soul of wit"; - Mies van der Rohe <https://en.wikipedia.org/wiki/Mies_van_der_Rohe>'s "Less is more <https://en.wikipedia.org/wiki/Less_is_more_(architecture)>"; - Bjarne Stroustrup <https://en.wikipedia.org/wiki/Bjarne_Stroustrup>'s "Make Simple Tasks Simple!"; - Dr. Seuss <https://en.wikipedia.org/wiki/Dr._Seuss>'s ode to brevity: "So the writer who breeds more words than he needs, is making a chore for the reader who reads"; - Johan Cruyff <https://en.wikipedia.org/wiki/Johan_Cruyff>'s "Playing football is very simple but playing simple football is the hardest thing there is"; - Antoine de Saint-Exupéry <https://en.wikipedia.org/wiki/Antoine_de_Saint-Exup%C3%A9ry>'s "It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away"; - Colin Chapman <https://en.wikipedia.org/wiki/Colin_Chapman>, the founder of Lotus Cars <https://en.wikipedia.org/wiki/Lotus_Cars>, urged his designers to "Simplify, then add lightness"; - Attributed to Albert Einstein <https://en.wikipedia.org/wiki/Albert_Einstein>, although this may be an editor's paraphrase of a lecture he gave,[10] <https://en.wikipedia.org/wiki/KISS_principle#cite_note-10> "Make everything as simple as possible, but not simpler"; - Steve Jobs <https://en.wikipedia.org/wiki/Steve_Jobs>'s "Simplify, Simplify, Simplify",[11] <https://en.wikipedia.org/wiki/KISS_principle#cite_note-11>[12] <https://en.wikipedia.org/wiki/KISS_principle#cite_note-12> which simplified Henry David Thoreau <https://en.wikipedia.org/wiki/Henry_David_Thoreau>'s quote "Simplify, simplify, simplify" for emphasis; - Northcote Parkinson <https://en.wikipedia.org/wiki/C._Northcote_Parkinson>, British academic and sometimes military officer and military critic, expressed this idea as "Parkinson's Third Law" (c. 1957): "Expansion means complexity and complexity, decay; or to put it even more plainly—the more complex, the sooner dead"; Heath Robinson <https://en.wikipedia.org/wiki/Heath_Robinson> contraptions and Rube Goldberg's machines <https://en.wikipedia.org/wiki/Rube_Goldberg_machine>, intentionally overly-complex solutions to simple tasks or problems, are humorous examples of "non-KISS" solutions. Let us turn to our concrete case. Compare just the formal definitions of fn:fold-left in its *current form <https://qt4cg.org/specifications/xpath-functions-40/Overview.html#func-fold-left>*in the Spec and as proposed by Michael Kay in Here are the screenshots side by side - current <https://qt4cg.org/specifications/xpath-functions-40/Overview.html#func-fold-left> : [image: image.png] and *proposed <https://qt4cg.org/pr/1735/xpath-functions-40/Overview.html#func-fold-left>* : [image: image.png] As they say, "*A picture is worth a thousand words*" ... As above ... Is this monstrous jump in complexity (more than 3 times higher!) really justified? Will a soldier in the field, which we - developers all are, have the time and concentration to understand from the above code what the function is doing, and even more importantly why is it so complicated and when to use the "action" that accepts a positional argument? Most would probably decide: "*This is too-complicated, I will try to avoid it. They really blew it up with XPath 4*." It is up to you to decide, folks, but *avoiding KISS is not something to be proud of*. Thanks, Dimitre. Some languages provide position arguments, some don’t. We aren’t “copying > JavaScript” if we keep them, nor are we “copying C#” if we drop them. Some > people think they’re valuable and convenient, some think they’re complex > and confusing. > > I prefer it when discussions lead to unanimity or near unanimity, but with > my chair’s hat pulled down firmly over my ears, I think the position we’re > in is this: we have a status quo draft and this is a proposal to change the > status quo. If there are still several members of the CG who are opposed to > the change, then I think the PR will have to be abandoned in favor of the > status quo. > > If you have new, persuasive arguments, prepare to make them. (Better yet, > make them now, in email, persuade your peers that you’re right, and we can > resolve this quickly tomorrow, without acrimony.) > > Be seeing you, > norm > > -- > Norm Tovey-Walsh > Saxonica > >
Attachments
- image/png attachment: image.png
- image/png attachment: 02-image.png
Received on Monday, 10 March 2025 15:38:09 UTC