Should we target specifications or implementations? #394

 
BlueManedHawk src #3764

Should we target specifications or implementations?

citrons (bureaucrat) src #3767

we should target specifications, certainly. if they don't meet needs, new ones ought to be made.

BlueManedHawk src #3769

What if the major implementations don't actually meet the specifications of the specification?

heavoid src #3801

the major implementations need to change.

BlueManedHawk src #3802

Even if the users agree that what the implementations do is more useful than what the specification demands they do?

heavoid src #3803

yes.

BlueManedHawk src #3804

Why?

BlueManedHawk src #4226

Why?

gollark src #4227

It's inconvenient and inelegant to have to target implementations.

taswelll src #4228

who is "we"? what do you mean by "target"?

caesar (edited ) src #4229

we = the miolandi government

target = the American shop

BlueManedHawk src #4230

It's inconvenient and inelegant to have to target implementations.

Why?

who is "we"? what do you mean by "target"?

Yes.

taswelll src #4231

no, actually

BlueManedHawk src #4232

What?

caesar src #4233

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.

taswelll (edited ) src #4234

What?

no.

munvoseli (edited ) src #4235

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"

munvoseli src #4236

i'm not actually certain what minecraft JSON is supposed to be, actually. it is only vaguely like JSON.

taswelll src #4237

nbt?

citrons (bureaucrat) (edited ) src #4238

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.

big brother (bureaucrat) #4239
this post never existed.
citrons (bureaucrat) src #4240

https://minecraft.fandom.com/wiki/NBT_format

please log in to reply to this thread