Turing Complete Configuration
- more extensible
- tend to be heavier
- harder to provide detailed error messages
- more difficult for new users
Data Based Configuration
- easier to use
- easier to provide documentation
- lighter to embed
- more limited usecases
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Turing Complete Configuration
Data Based Configuration
For stuff like, say, configuring all of your systems and programs in one file, actual programming languages are really useful. coughnixcough
I've become addicted to script-configured window managers. I won't even try ones that aren't, anymore.
Bash is a scripting language, so it qualifies per your description, but the main advantage is that anything you can do in the config, you can do on the CLI: these WMs also have first-class CLI tooling, a consequence of CLI-first design. All configuration is runtime adaptable, and although auto config reloading can get you there, it's fantastic to be able to change a configuration without it having to be persisted in a file.
Seriously, next to tiling, scripted configuration is the most important feature of a WM. I haven't encountered it outside of WMs very often, but for long running processes, it's a great design.
As long as it's not configured by GUI I'm grateful 🙏😔