top | item 40701023

(no title)

natnat | 1 year ago

Starlark is nice but Google also has GCL...

discuss

order

esprehn|1 year ago

Google is a mess of configuration languages. Starlark, GCL, piccolo, textproto, yaml, the weird subset of starlark boq uses. From the outside it seems a lot more uniform than it is.

danpalmer|1 year ago

It's a mess, yes, but it's better than most places I've seen that end up using a bunch of YAML/JSON and then poorly defined custom tools to mangle things together.

Also I'd argue that there's a good core in Google's config stack: everything resolving to a proto at the bottom, textproto for "raw" representations, and having one language above that. If we could standardise on that it would be good, but of course that's unlikely.

Does Boq use a subset of Starlark? I thought it was Piccolo. I've always assumed Piccolo predated Starlark and that Starlark was essentially the external-first rewrite with some learnings.

laurentlb|1 year ago

Google is trying to standardize on a few configuration languages: GCL (because it was too hard to migrate away from it), Starlark (when BCL is not suitable) and Text proto (for things that don't need logic).

It used to be a complete mess, but a plan was written a couple of years ago. So there's hope of improvement.

Rebelgecko|1 year ago

Plus bcl, ncl, OWNERS, piccolo, SDL, and probably dozens more

verdverm|1 year ago

Both Starlark and CUE are projects that evolved from former Googlers learnings about BCL and GCL

aiui, Starlark is closer to the internal languages while CUE takes a different philosophical approach (logical language that ensures correctness at scale)