1. It doesn't separate program's config, data, and cache; so it is impossible to backup excluding cache, impossible to reset your config without data-loss.
2. It assumes home is infinite, if you are running out of space in home you can't move program files to other partitions. E.G. Flatpack hardcodes its apps data in `~/.var` so if you have a small/almost-full home partition you simply can't install certain Flatpacks.
First and foremost, that I don't get to decide where things go on my own machine, and that if I do regardless, because developers didn't follow a simple standard and instead decided to hardcode things that shouldn't be hardcoded - which is just about the first thing every dev is taught not to do - things will break.
You may not find it important but is it an issue or not?
I struggle to see what the issue is with ~/.programName ?