> As long as we treat languages as personal preferences, the programming community will remain deplorably divided.
Languages are personal preferences; they certainly have objective differences which have some effect on utility, but a substantial part of what makes a language the best for a particular programmer for a particular purpose is how well the the language matches the programmer's experience and patterns of thought for addressing the problem domain. These are inherently subjective factors.
> In order to join forces to work on demanding projects, I think we need to agree on a relatively small number of good-enough languages.
We may need to agree, for large projects that need to be integrated in such a way that you can't use a mix of languages for different components, on as few as one language for a particular project, but that doesn't constrain the number of languages we can have in the whole programming ecosystem (and, indeed, restricting the domain of available languages would restrict the development of new techniques and languages and the development of better languages for new use case.)
> To do this, we need objective criteria for choosing one language that is good for a particular class of software.
This requires, obviously, the ability to objectively categorize software into "classes" to apply the criteria. Since I think you are going to fall down hard on that, I'm not really holding my breath to seeing your vision realized, even if I thought it was a good thing.