Linux won on the server side because they got just as right as Unix. The crappy UI (windows) was the one that didn't work with shell scripting, didn't work with ssh, etc.
12 karma · joined December 24, 2019
Linux won on the server side because they got just as right as Unix. The crappy UI (windows) was the one that didn't work with shell scripting, didn't work with ssh, etc.
Boeing used to make airplanes. Now they outsource the work of "make the airplanes" and all it cost them was their reputation.
Less outsourcing, more just doing the work please.
It integrates very nicely with go and can convert between go structs into cue structs and vice versa.
Despite what GPT said above, its Configure, Unify, Execute. The Execute aspect is powerful but you have to be ok with functional programming and immutability.
Pairs up really nicely with Go.
You want it to be easy for humans to edit and grok, so you find a way to represent the core parts you care about as text and cordone off the general programming language to another area.
You're successful and the number of use cases you cover grows, so the size of that config grows.
And before you know it, you've invented YAML.
Whereas, if you use Cue instead of YAML it looks pretty similar - in fact some large subset of it will be parsed correctly by a YAML parser. But the difference is with Cue you can: 1. Validate the structures in your config 2. Deduplicate by referencing other values in your config (something you can't do in JSON/YAML). 3. Use language built-ins to reduce boiler plate and repetitive text.
Having gone decently down the Cue rabbit hole, I feel that Cue is remarkable in being able to do everything I need it to do without looking significantly different than JSON. The validations and boiler plate reduction are fantastic. And even without inheritance, I'm confident it can represent anything I need to without having to duplicate the same thing over and over.