1. 5
  1.  

  2. 3

    I like this post. It’s well written and useful, but I don’t wholeheartedly agree with it. In many cases I agree that configuration files should be simple, particularly if you have a broad target audience. Sometimes the complexity using a full programming language is warranted. Sometimes you have a target audience who can spend a lot of time and effort on configuration. Sometimes you want to make a tool like Emacs or Conky or Awesome. Sometimes you want to make systems which are malleable (see https://malleable.systems/).

    1. 0

      Interesting point. Yes, there are different end users. For advanced cases, I guess you could use extension hooks or plugins? Plugins are a way to change the behaviour of the program through code that the author of the program did not write. Then in a config file you turn on/off these plugins. This way, config files are still universally applicable… Only advanced users go deeper if they need it, the rest of the userbase is not overwhelmed by a programming language or DSL..

      1. 0

        I can get behind ideas like that :)