I don't know a single person who prefers HCL over literally anything else, but still, it's a happy day for them so I won't air my entitled little complaints and instead say: thank you hashicorp!
You made life as a cloud infra beard better for a while, and I wish you all success going onwards.
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.
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.
Huge HCL fan here. It basically fixed all my gripes with other configuration languages. Not too heavy, not too light and I love auto-hclfmt. I'm a bit sad it was so unpopular, and e.g., abandoned for Github Actions in favor of YAML.
The only thing I don't like about HCL is that there are not enough good libraries for me to use it as the configuration language in all of my projects. I love HCL.