[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Why is terseness of minimal importance?
- From: Michael Kay <mike@saxonica.com>
- To: Roger L Costello <costello@mitre.org>
- Date: Thu, 13 Jan 2022 16:16:58 +0000
There's a balance. If we wrote numbers in base 100 we would need half as many characters to write them, but we would have to remember and recognise 100 different digits symbols. The extra cognitive load of remembering 100 digit symbols isn't worth the extra conciseness.
Regular expressions are too concise in my view - contrary to what Whitehead is advocating, you have to think too hard in order to understand them. A concise notation is great if it makes patterns stand out visually, but not otherwise.
But COBOL, and XSLT 1.0, is not concise enough. It's hard to read because it takes too much space so you have to do a lot of scrolling. Again, the patterns don't stand out.
I suspect those who argued that terseness was not important for XML were actually arguing that human readability is more important than message size. That's certainly true, however, conciseness can help human readability. And indeed, the design of namespaces (using prefixes in place of URIs) shows that the value of terseness was recognised.
I also suspect that the reason the matter came up for debate was the more specific question of whether element names should be repeated in the end tag. To be honest, I'm still unsure in my own mind about that decision -- there are arguments both ways. JSON, like LISP, suffers from the problems you get when you have a long string of closing delimiters like "]]}]}]". Indeed, we see this in XPath. Perhaps there's something to be said for the alternative approach of representating hierarchy through indentation.
And I've always felt that editors could do a better job of making hierarchy stand out visually - for example using colouring that varies in intensity or hue depending on the nesting depth. With visual cues like that, we could achieve the readability without worrying so much about the notation.
Michael Kay
Saxonica
> On 13 Jan 2022, at 15:38, Roger L Costello <costello@mitre.org> wrote:
>
> Hi Folks,
>
> The mathematician Alfred North Whitehead writes [1]:
>
>> One very important property of symbolism to possess
>> is that it should be concise, so as to be visible at one
>> glance of the eye and to be rapidly written.
>
>> ... by the aid of symbolism, we can make transitions in
>> reasoning almost mechanically by the eye, which
>> otherwise would call into play the higher facilities of
>> the brain.
>
>> It is a profoundly erroneous truism, repeated by all
>> copy-books and by eminent people when they are
>> making speeches, that we should cultivate the
>> habit of thinking what we are doing. The precise
>> opposite is the case. Civilization advances by
>> extending the number of important operations
>> which we can perform without thinking about
>> them. Operations of thought are like cavalry
>> charges in a battle--they are strictly limited in
>> number, they require fresh horses, and must
>> only be made at decisive moments.
>
> The XML specification says "terseness is of minimal importance." That is the opposite of what Whitehead says. In fact, terseness is of *maximal* importance, yes? Perhaps this explains why data formats such as JSON have been so successful--they are terse.
>
> Thoughts?
>
> /Roger
>
> [1] An Introduction to Mathematics by Alfred North Whitehead, p. 41-42.
>
>
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]