The Dhall Configuration Language
Relying on configuration files to glue together a huge stack of tools and services in order to produce an end product is a huge mistake. I say it&#x27;s a mistake fully knowing that nearly <i>everyone</i> in the industry is doing it.<p>Configuration is opaque. Undebuggable. Unmaintainable. By its very nature. No matter what &quot;language&quot; you use for it.<p>You should strive to keep configurable things to an absolute minimum.<p>Although it&#x27;s worth making a distinction between &quot;configurations&quot; and &quot;settings&quot;: when something is configured wrong, the application basically fails to operate as intended. For settings, there can&#x27;t be &quot;wrong&quot; settings, all settings are valid, and if the input for a specific setting was invalid, the application can simply ignore it and use the default value. Example of a &quot;setting&quot;: font size for a text editor. Example of configuration: the connection information for a database.