i assume most suckless configuration is just changing variables in the header so i don't think it's THAT easy to segfault
the main retardation is having to compile the application to configure it because a little config parser is "le wasteful"
https://git.suckless.org/dwm/file/config.def.h.html -- config.h just defines a few arrays and structs. No string mangling at all.
It's not that config parsing is wasteful or anything, but the purpose of a config file is for people to change the config; even recompiling the software to include a scrollback buffer hasn't caused me to change my config. I haven't changed my configuration in, what, ten years?
I get that other people have other preferences, but I tell you, on constrained platforms like, say, the RK322x TV-box I love to hack around on, on devices with slow storage, et cetera, DWM versus competitors is quite noticably different. (Could probably substitute in one of DWM's "influences" just fine.
Imagine shipping a product to a customer, while knowing that if they use the product as intended there is a 50% change of them destroying it.
C-language config also works as a barrier-to-entry. Jeets and Low-IQs get filtered very early.
Indeed parsing a configuration file, or even running a scripting language like Lua is unnoticably fast, under 1 ms.
Some of the platforms where I run DWM take several seconds to execute something "trivial" like "yt-dlp --help". This is due to the whole tree of python dependencies the interpreter has to walk through. When running Linux off of a USB, too, you can run into this. Slow storage does weird things.
"these are the tradeoffs we made; if this is not what you need, the following are the alternatives".
Not quite as blunt and to the point as you suggest, but you've got a great point, and I'll improve my own Suckless-style project with this.
You guys would like my project even less. It interfaces with, say, specific USB devices, and my project is designed to work such that there is one executable per device-config combination; in other words, the user chooses device and config by executing a different executable. Works great, though, and transfering state across the different comboes works brilliantly.