i’ll play devil’s advocate and say: None of them. Programming languages are tools, and so treat them like one is better. A better question to ask is: what are you doing to need one? Then work out the characteristic of a tool you want. E.g: you want to make a game, lets say you want to use Unity, then learning C# would be the best answer. Or you want to start with godot, maybe because it’s friendly to you, then learning go would be the obvious choice. Just pick one that you rationalized is best, doesn’t matter if it’s faulty reasoning, then go all the way with it is the best approach here imo.
And yet it seems to me only GNOME has this problem, and it has been there since Torvalds still publicly executing everyone in mailing list. XFCE, LXQT, hell, even KDE only has minimal complain about unexpected behavior. It seems to me that in a concerted effort to predict as much user behavior as possible, GNOME created this non existent “average user” that conforms to no one, and created this mess on their own.
Also, we are mostly against nonconsensual, non-explicit, or opt-out type of feedback. As far as I concern, efforts to point out to GNOME devs their faults are many to the point its a meme. It is also, not unrelatedly, a meme that GNOME denies these complaints because “the average users wouldn’t get it”) . I think it should be clear enough by now.