Hacker News new | ask | show | jobs
by dan_quixote 1656 days ago
I've come full circle on this and actually like HCL now. It's so limiting that there's often only one (or a few at most) way to feasibly do something. This is kinda painful when your team is small, but becomes a net-positive in a larger team.
3 comments

I definitely have hit a few pain-points but I share your view. JSON/YAML are too primitive (and YAML's treacherous magic behaviours are downright hazardous) but a general-purpose programming language gives a lot of room to make hard-to-understand or non-deterministic code.

I've gotten a ton of value out of Fabric (this is in no way a criticism of Jeff's great work) but I've seen multiple projects where people took at advantage of everything they could do in Python and made a deployment system which is as much of a project to maintain as the code it deployed. There are only so many teams disciplined enough to avoid that and I think the declarative approach avoids many of those pitfalls, critically dependent on providing a sufficiently rich set of abstractions.

The real pain comes from when there's zero ways to do a thing.

I'm tired of config languages. Just be a library.

cue export --out json | tf apply

This is now my preferred method