5 ms·
HCL in particular has so many annoying edge-case issues and limitations due to its immaturity that it becomes intractable beyond simple use cases. Thankfully P
by jchook 4y ago
HCL in particular has so many annoying edge-case issues and limitations due to its immaturity that it becomes intractable beyond simple use cases.
Thankfully Pulumi[0] allows me to write Terraform configuration in a language I know without reinventing the wheel. It feels like Pulumi's approach is better in every single way I can imagine. I simply do not see the reason for HCL whatsoever.
[0] https://github.com/pulumi/pulumi https://github.com/pulumi/pulumi
- substation13 4y agoWhat about the non-determinism, lack of sand-boxing and Turing-completeness of a real programming language?
- jchook 4y agoWhat about the lack of a mature language server for code completion and at-your-fingertips documentation? What about the lack of mature tooling for static analysis, linting, code formatting, etc? What about the poor support for defaults and partial overrides on object-type (read: namespaced without redundant_underscore_thing_*) configuration directives? What about the very limited module capabilities? What about the limited set of deterministic functions available (e.g. you get base64, yaml, csv, and otherwise GLHF)?
- duped 4y agoThere's no reason the code can't be sandboxed, Turing-completeness is a feature not a bug (nor is undecidability a real problem), and non-deterministic behavior where it's undesirable is just a potential hazard in the real world. No system can avoid it unless that system never interacts with the outside world.
- newaccount2021 4y agoBecause those aren't real-world concerns??? HCL is its own language so Hashicorp can "own" the experience, tie you into an Enterprise toolchain, and scratch their "I've always wanted to build a language!" itch But it works and ops people love it because most ops people in industry today cannot even write a simple Python script. So...tools like Pulumi are actually out of their reach.
- jaxxstorm 4y agoPulumi is deterministic.