Live data from Hacker News

New better alterative to XML, JSON and YAML

xenondata.org

71–80 of 148 posts

Re: New better alterative to XML, JSON and YAML

#71
post #35

Earlier quoted context omitted.

Why? Anyone could have done this, these are all fundamentally the same thing anyway.

because they care about it and have put some time into it

That's very kind, but people doing the wrong thing with passion and energy is functionally worse than them not doing anything

Re: New better alterative to XML, JSON and YAML

#74
Stop. Just stop this madness. Nobody needs any new formats.

We had s-expressions. They were OK.

We had ASN.1. It was OK.

We had .ini files. They were OK-ish.

We had XML. It was OK.

We had JSON. It was OK.

We had YAML. It was OK.

We had TOML. It was OK.

We had probably a million other fundamentally isomorphic solutions to this basically trivial problem, and each of them was more or less OK.

What is not OK is endless proliferation because somebody has some trivial gripe and wants to make a name for themselves.

Re: New better alterative to XML, JSON and YAML

#75

I prefer JSON as it is really simple

I prefer jq.

I should have been clearer. jq is a programming language, but it's also a data language in that a) valid JSON is a valid jq program, b) you can construct JSON data trivially with jq.

E.g.,

  : ; jq -n '
      .users[0].name="John"
    | .users[1].name="Jane"
  '
or

  : ; jq -n '
      .users = []
    | .users += [{}|.name = "John"]
    | .users += [{}|.name = "Jane"]
  '
but you can make it much much richer than that.

Re: New better alterative to XML, JSON and YAML

#77

Earlier quoted context omitted.

because they care about it and have put some time into it

That's very kind, but people doing the wrong thing with passion and energy is functionally worse than them not doing anything

I view this as harmless at worst and potentially inspirational at best. And the author has learned a lot as well.

Re: New better alterative to XML, JSON and YAML

#78

Sorry but I would never use this format for both manual or programmatic approach. * I've tried to read the data this format describes without reading its documentation and I just failed: the format is amazingly counter-intuitive. I never had a readability and understanding issues with XML/HTML, JSON or even YAML (that I think is overly complicated) when I saw them for the first time. * Terse does not mean cryptic. Ba…

> Comments. Another symbol here to come: `%`. To be honest, I can't recall any instance I could see the percent sign elsewhere for this purpose.

PostScript is one programming language that uses a percentage sign for comments. TeX and METAFONT also use a percentage sign for comments. There are others, too.

Re: New better alterative to XML, JSON and YAML

#79

Earlier quoted context omitted.

> Consider the approach taken by XML 1.1 I evaluated xᴍʟ 1.0 and 1.1’s restrictions but consider the alternative, accepting anything but the empty string to be simpler. >A lot of English-speaking countries actually have `.` and `,` swapped: Which? >...should state that encoders should pick a long enough decimal representation to avoid any such issue. .net for example has round trip encoding to achieve this. > Which b…

> Which? Oh, I just realized that I carelessly put "English-speaking" there. (AFAIK the exact reversal does exist in English, but is much rarer and not entirely domestic.) But that doesn't really justify the use of comma in numbers. > .net for example has round trip encoding to achieve this. That was never guaranteed to my knowledge, and there also seems an apparent difference in .NET Framework and .NET Core/Runtime…

>But that doesn't really justify the use of comma in numbers.

Readability.

>I was asking why that particular variant [of Base64] was used.

I repeat, we are using the ʀꜰᴄ 4648 variant.

> [separate standards documents] do you think that's also a no-go? Yes.

Data model here:

document := named-entity

named-entity := named-object | named-array | named-scalar

named-object := NamedObject(name, object)

named-array := NamedArray(name, array)

named-scalar := NamedScalar(name, scalar)

object := Object(id?, type?, field*)

array := Array(id?, type?, item*)

scalar := Scalar(id?, type?, value)

field := named-entity

item := object | array | scalar

name := CHAR+

id := CHAR+

type := CHAR+

value := CHAR*

Re: New better alterative to XML, JSON and YAML

#80
post #31

Earlier quoted context omitted.

Both a C# and JavaScript implementations exist. The terse “single punctuation character”, e.g. make it efficient to write, more efficient than JSON. There is no “extra open bracket”? There is a overview of how the indenting operates. Mode-less, means the tokeneizer does not require modes, unlike those required for XML. The parser has state. Have the top level document named allows one to see what the document is, e.g…

` ` is not simpler than `}`, nor `]`. The array syntax has the "extra open (angle) brackets": in ` Fredrick Freddy ` we see ` `.

It is more terse than JSON.
Post reply on HN