Oh look, Google is shipping their org chart again. > What problems are Editions solving? > > In short, nothing really (for end users). The introduction of Editions > is the result of major Google-internal refactoring of how protoc and its > plugin architecture implements and observes feature checks when generating > code. This isn’t intended to force breaking changes to existing projects, > nor is it designed to impa…
I don't understand why this is a problem. It's not uncommon to see multi-decade old systems refactored for extensibility and maintainability every once in a while. What worked when it was initially designed won't work forever, and it's hard to make users lives better if the maintainers can't make their own lives better. (BTW, this isn't "shipping their org chart.")
Protobuf Editions are here: don't panic
41–50 of 58 posts
Re: Protobuf Editions are here: don't panic
#42Earlier quoted context omitted.
XML, JSON, and YAML belong to a totally diffent class of use than protobuf, flatbuffers, capnproto, etc It's like comparing apples and screwdrivers.
They're comparable for a lot of use cases. In fact many protobuf-based APIs will also have a JSON mode.
Library/module/API developers often seek to deliver maximimum adaptibility in their interfaces so that consumers of them can satisfy their own more specific/pressing requirements.
Re: Protobuf Editions are here: don't panic
#43Earlier quoted context omitted.
Performance aside, it's also really nice how a protobuf spec tells you what data structure to expect ahead of time for an API.
The number of APIs with a single JSON example as the only documentation is... unfortunate. Especially if you want to know if a field is nullable.
Re: Protobuf Editions are here: don't panic
#44Oh look, Google is shipping their org chart again. > What problems are Editions solving? > > In short, nothing really (for end users). The introduction of Editions > is the result of major Google-internal refactoring of how protoc and its > plugin architecture implements and observes feature checks when generating > code. This isn’t intended to force breaking changes to existing projects, > nor is it designed to impa…
> This means your existing proto3 projects can now use default field values and extensions.
proto3 not having required and default values was a big source of complaints, so supporting these indefinitely into the future with feature flags instead of having to be stuck forever on proto2 has to be a welcome change for a subset of users, at the very least.
Re: Protobuf Editions are here: don't panic
#45Oh look, Google is shipping their org chart again. > What problems are Editions solving? > > In short, nothing really (for end users). The introduction of Editions > is the result of major Google-internal refactoring of how protoc and its > plugin architecture implements and observes feature checks when generating > code. This isn’t intended to force breaking changes to existing projects, > nor is it designed to impa…
As a sibling has already pointed out, this blog post has nothing to do with “Google themselves”. In addition, “nothing really for end users” is obviously bullshit and inconsistent with what the post says itself, e.g. > This means your existing proto3 projects can now use default field values and extensions. proto3 not having required and default values was a big source of complaints, so supporting these indefinitely…
Re: Protobuf Editions are here: don't panic
#46Oh look, Google is shipping their org chart again. > What problems are Editions solving? > > In short, nothing really (for end users). The introduction of Editions > is the result of major Google-internal refactoring of how protoc and its > plugin architecture implements and observes feature checks when generating > code. This isn’t intended to force breaking changes to existing projects, > nor is it designed to impa…
As a sibling has already pointed out, this blog post has nothing to do with “Google themselves”. In addition, “nothing really for end users” is obviously bullshit and inconsistent with what the post says itself, e.g. > This means your existing proto3 projects can now use default field values and extensions. proto3 not having required and default values was a big source of complaints, so supporting these indefinitely…
Re: Protobuf Editions are here: don't panic
#47Earlier quoted context omitted.
As a sibling has already pointed out, this blog post has nothing to do with “Google themselves”. In addition, “nothing really for end users” is obviously bullshit and inconsistent with what the post says itself, e.g. > This means your existing proto3 projects can now use default field values and extensions. proto3 not having required and default values was a big source of complaints, so supporting these indefinitely…
Proto3 already got the required/optional feature added. I don't see why they couldn't have added default values too. (Personally I liked proto3 without optionals, defaults, extensions, etc, but it was a tough sell for people already used to proto2.)
Re: Protobuf Editions are here: don't panic
#48I've always liked the simplicity of protobuf, and this change seems to add unnecessary complexity. And: "What problems are Editions solving? In short, nothing really (for end users). The introduction of Editions is the result of major Google-internal refactoring[...]"
Is the author just annoyed that Buf now has to put in the work to support editions?
Re: Protobuf Editions are here: don't panic
#49Earlier quoted context omitted.
looks like an LLM spambot
lol, well. Sorry man, I'm a real boy. Check my account age. I can solve some math problems or look at what photos are bridges if you want.
Re: Protobuf Editions are here: don't panic
#50Earlier quoted context omitted.
Where are you getting this nonsense from, and if you're just speculating, why are you stating it with such confidence as a fact? Protobufs predate Go by more than half a decade, and there is no overlap between the authors.
Per multiple sources, including the team currently maintaining the Protobuf toolchain within Google, proto3 was largely designed by Rob Pike. Of course the Protobuf wire format is quite a bit older, but some aspects of proto3 and Go's shared semantics (like implicit zero values) do seem to have come from the same mind.