Should we target specifications or implementations?
we should target specifications, certainly. if they don't meet needs, new ones ought to be made.
What if the major implementations don't actually meet the specifications of the specification?
Even if the users agree that what the implementations do is more useful than what the specification demands they do?
Why?
Why?
It's inconvenient and inelegant to have to target implementations.
Why?
who is "we"? what do you mean by "target"?
Yes.
What?
we should try to target specifications if they exist, but the specifications should be moulded by the implementations. if the major implementations change, so too should the specifications.
theoretically, we should target specifications, but that just doesn't work in an ecosystem which does not conform to the specification.
(i haven't touched minecraft commands in a long while, and i'm not sure if this is still the case, but) minecraft JSON does not conform to the JSON specification, so you need separate tools to generate and parse minecraft JSON.
with CSS, webkit/blink unfortunately have a bit of a monopoly on renderers, and parse a superset of CSS that firefox doesn't. there are also things that firefox and blink just do differently. not everything these renderers do is in the spec, so if you want to be able to render the most web pages how those web pages want you to render them, you need to visit all of the specifications. however, if you just want to render the web pages, just following the spec doesn't generally break too much.
my opinion is thus "it depends on what you want to be interoperable with"
i'm not actually certain what minecraft JSON is supposed to be, actually. it is only vaguely like JSON.
NBT is not JSON at all. it's not supposed to be. it's actually a binary format with a textual representation. "Named Binary Tag". JSON is used in the game in other places (like in formatted text), and it is used compliantly.
please log in to reply to this thread