Configuration

tags
Software Development

Configuration provides a program with the relatively static information it needs to function (file names, etc) as data, not code.

Some people think this distinction is spurious and you should just do it in code.1 Some people think the opposite, that you should have as close to nothing as possible in the semantics of your configuration language (see e.g. NestedText). Some people think you're going to spend your whole life going back and forth between one and the other.2

Nickel's rationale discusses some of the more esoteric configuration languages: nickel/RATIONALE.md at 0f192ea0

Footnotes:

1

Dima Gerasimov, “Your Configs Suck? Try a Real Programming Language.,” beepb00p, April 5, 2020, https://beepb00p.xyz/configs-suck.html.

2

Mike Hadlow, “The Configuration Complexity Clock,” Code rant, May 7, 2012, https://mikehadlow.blogspot.com/2012/05/configuration-complexity-clock.html.