
That's true.
Everything for everybody programs are a nightmare that seldom work. As with everything, there are different approachs. Scripting can be good, as can loadable sub programs that can be added or modified later. Being able to modify your program's interface with a configuration file can also work. All have good points and bad points depending on what you are trying to accomplish. There are a lot of ways to skin that cat, and the cat hates them all...