Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
1–10 of 174 posts
Re: Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
#2https://avro.apache.org/docs/current/
They both have self-describing schemas, support for binary values, JSON-interoperability, basic type systems (Ion seems to support a few more field types), field annotations, support for schema evolution, code generation not necessary, etc.
I think Avro has the additional advantages of being production-tested in many different companies, a fully-JSON schema, support for many languages, RPC baked into the spec, and solid performance numbers found across the web.
I can't really see why I'd prefer Ion. It looks like an excellent piece of software with plenty of tests, no doubt, but I think I could do without "clobs", "sexprs", and "symbols" at this level of representation, and it might actually be better if I do. Am I missing something?
Re: Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
#3And where does Ion fit here?
Re: Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
#4This reminds me a lot of Avro: https://avro.apache.org/docs/current/ They both have self-describing schemas, support for binary values, JSON-interoperability, basic type systems (Ion seems to support a few more field types), field annotations, support for schema evolution, code generation not necessary, etc. I think Avro has the additional advantages of being production-tested in many different companies, a fully-JSO…
The timing of open-sourcing it mystifies me a bit. Maybe Amazon is trying to become more open-source friendly, like Microsoft did?
Perhaps more likely: they're planning on making some internal APIs that use ION heavily public?
Re: Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
#5So now not only do we have the problem of redundant and mutually incompatible protocols (cue obligatory xkcd), but that we have so many such protocols that name collision is becoming an extra problem.
Re: Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
#6Interestingly enough a JSON alternative named "ION" was just posted as a Show HN[0] about three months ago. So now not only do we have the problem of redundant and mutually incompatible protocols (cue obligatory xkcd), but that we have so many such protocols that name collision is becoming an extra problem. [0] https://news.ycombinator.com/item?id=11027319
Re: Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
#7This reminds me a lot of Avro: https://avro.apache.org/docs/current/ They both have self-describing schemas, support for binary values, JSON-interoperability, basic type systems (Ion seems to support a few more field types), field annotations, support for schema evolution, code generation not necessary, etc. I think Avro has the additional advantages of being production-tested in many different companies, a fully-JSO…
I'm by no means a real Lisp programmer, but even I find S-Expressions more natural to write and process. And the simplicity of it allows for great editing tools too. This may be personal, but I always found JSON clunky.
Re: Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
#8Re: Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
#9What? This means their "arbitrary-precision decimals" are actually isomorphic to (Rational x Natural).
Re: Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
#10No need for a new protocol when doing it that way for basic things, if you need more binary (busy messaging/real-time) there are plenty of alternatives to JSON.
I love the simplicity of JSON, so do others and it is successful so many try to attach on to that success. The success part was that it was so damn simple though, most attachments just complicate and add verbosity, echoes back to XML and SOAP wars which spawned the plain and simple JSON. Adding complexity is easy and anyone can do it, good engineers take complexity and make it simple, that is damn difficult.