HCL is the language you use when you want to describe what infrastructure or configuration should be, rather than how to build it. It’s commonly used with tools like Terraform to declare cloud and infrastructure resources, but the language itself is general purpose and readable by humans and tools alike.
HCL is structured around blocks and attributes/arguments, making it easy to define resources, variables, modules, and dependencies with clear syntax. HCL can also be expressed as JSON, which machines can generate and parse more easily.
While HCL makes infrastructure-as-code accessible and readable, it’s important to remember that it’s not a full programming language - it’s a declarative language for configuration and description, not for general algorithmic logic.

