Closed jtarchie closed 5 years ago
The very first paragraph of the Configuration Syntax documentation probably summarizes Hashicorp's stance on this.
I think there's also a large factor at play that Hashicorp has a whole fleet of tools, written in Go-lang, and having their own configuration language gives them complete control over the format from the ground up.
Tools that use HCL:
... and I'm sure there's others, by Hashicorp and the community at large.
Personally... I favour the JSON syntax for most projects since it allows me to quickly write tools that understand my configuration in almost any language... but as support for HCL expands, I definitely see some advantages to it's readability and the availability of the parser itself as an open source library.
The DSL could be written in Lua as well. There are implementations specifically built for Golang integration.
Hi @jtarchie,
This seems like a Terraform question more than an HCL question. If you'd like to discuss design decisions for Terraform, please do so over in Terraform's repository.
Thanks
With the announcement of terraform 0.12 there are many extensions to the HCL configuration language.
It looks more like a programming language rather than a data configuration language.
HCL covers a domain specific language. It seems that the maintenance and building a programming language and DSL can be counter productive. For example, the breaking changes listed for hcl2.
What alternatives were looked at? For example,
lua
is a language designed for embedding and DSLs. Evennginx
has an extensions to support (community provided) it.From a purely educational level, I'd like to learn why
hcl
is still the supported choice.