Based on our record, Protobuf should be more popular than Jsonnet. It has been mentiond 82 times since March 2021. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.
Jsonnet[1] and kapitan[2] are the tools I currently use. Their learning curve is not optimal (and I tried to contribute to smoothen it with a jsonnet course[3] and a 'get started wit kapitan' blog post[4]), but once used to it it's hard to do without, and their combination makes them even more useful (esp. If you deploy K8s). In Ruud's case, Jsonnet might have been worth looking at as Hashicorp tools can be... - Source: Hacker News / 3 months ago
Kubernetes config is a decent example. I had ChatGPT generate a representative silly example -- the content doesn't matter so much as the structure: https://gist.github.com/cstrahan/528b00cd5c3a22e3d8f057bb1a75ea61 Now consider 100s (if not 1000s) of such files. I haven't given Pkl an in depth look yet, but I can say that the Industry Standard™ of "simple YAML" + string substitution (with delicate, error prone... - Source: Hacker News / 3 months ago
Maybe you'd like jsonnet: https://jsonnet.org/ I find it particularly useful for configurations that often have repeated boilerplate, like ansible playbooks or deploying a bunch of "similar-but" services to kubernetes (with https://tanka.dev). Dhall is also quite interesting, with some tradeoffs: https://dhall-lang.org/ A few years ago I did a small comparison by re-implementing one of my simpler ansible... - Source: Hacker News / 8 months ago
Apologies for the lack of context, and for missing this comment until today. Both are tools for defining kubernetes manifests (which are YAML) in a reusable manner. Jsonnet is a formally specified extension of JSON. It’s essentially a functional programming language (w/some object oriented features) that generates config files in JSON/YAML/etc, so it’s straightforward to determine whether an input file is valid,... - Source: Hacker News / 11 months ago
I like Google's Jsonnet [1], which has all of this except for 4. Jsonnet is quite mature, with fairly wide language adoption, and has the benefit of supporting expressions, including conditionals, arithmetic, as well as being able to define reusable blocks inside function definitions or external files. It's not suitable as a serialization format, but great for config. It's popular in some circles, but I'm sad that... - Source: Hacker News / 12 months ago
Protocol Buffers: https://developers.google.com/protocol-buffers. - Source: dev.to / about 1 year ago
ProtocolBuffers’ OneOf message addresses the case of having a message with many fields where at most one field will be set at the same time. - Source: dev.to / over 1 year ago
That's definitely the bigger thing. I think something like Protocol Buffers (Protobuf) is what you're looking for there. Output the data and consume it by something that can handle the analysis. Source: over 1 year ago
These protocols prevent an O(N x M) explosion of code that have to solve for many cases. For example, since JSON is an almost ubiquitous format for wire transfer (although other things do exist like protobufs), if I had N data formats that I want to serialize, I only need to write N serializers/deserializers (SerDes). If there was no such narrow waist and there were M alternatives to JSON in wide usage, I would... Source: over 1 year ago
gRPC uses protocol buffers (it is an open source message format) as the default method of communication between client and server. Also, gRPC uses HTTP/ 2 as the default protocol. - Source: dev.to / over 1 year ago
Dhall Configuration Language - A non-repetitive alternative to YAML
gRPC - Application and Data, Languages & Frameworks, Remote Procedure Call (RPC), and Service Discovery
YAML - YAML 1.2 --- YAML: YAML Ain't Markup Language
Messagepack - An efficient binary serialization format.
TOML - TOML - Tom's Obvious, Minimal Language
JSON - (JavaScript Object Notation) is a lightweight data-interchange format