The irony, in my opinion, comes from the fact that there is no official membership mechanism when it comes to belonging to an elite. People that wield power withing a community because of their above average skill set have mannerisms, and often, as said above, agree, sometimes silently, on a certain code of conduct or modus operandi. People who want to belong to the elite start to emulate these mannerisms and identity forming mechanisms, reinforcing them over time.
Yet I think the best programmers I know use languages that are 20 to 30 years old as their main weapon of choice (C/C++ for example).
I'd also care to say that once you reach a certain skill level, you see beyond the language and don't find yourself looking for the latest shining new stuff.
C is 40 years old and C++ is 32 years old. (Visual Basic is 20-30 years old, though.)
C is indeed almost forty years old.
Where by "elite programmers" we mean the average startup kid that thinks he is teh awesome because he has written yet another framework/library no one needs in the functional and/or scripting language in vogue at the moment.
The problem is that there's no evidence at all that it's language which is the characteristic function. Looking at most of the devs that I truly respect and admire, few if any, are the ones that spend a lot of time with cutting edge languages. And most people I know who are famous devs that use cutting edge languages, are famous for using, writing about, or developing cutting edge langauges.
I think that's a very subjective thing to attach "elite" to. I see a lot of people jumping between languages who are ahead of the curve, but nowhere near anything I would call "elite". At the same time, some of the most "elite" programmers I've seen have been doing things like the same old embedded programming for X years, getting really, really good at it.
Elite embedded programmers who have been using C for 20 years will have other characteristics that set them apart from the non-elite, but are not themselves the reason for them being elite embedded programmers. And so on for other groups of elite programmers. Language geeks are just a particularly visible manifestation of the process, because it's so easy for so many people to get into, and has such concrete effects. (Perhaps less so than when you were using Python when everyone else was still using C and you could program circles around them as long as performance wasn't an issue (which it frequently isn't), but I can still confidently say there are projects around where using Erlang (for instance) can put you well ahead of anybody using a language with a worse concurrency story, no matter how skilled in that language they are. There's a time and a place for superior primitives.)
Uh. Where did you say that?
Because the causality flows the other way. At any given point in time, there are certain languages that the elite programmers tend to flock to, because they spend more time looking out for new, good things that the average person (part of what got them to "elite" in the first place), and therefore finding someone who knows that language is evidence (though not proof) that they are elite.
That's not a logical fallacy; in Aristotelian logic, (A -> B) !-> (B -> A), but you can use probabilistic logic to combine "A -> B" and "B" to update the probability of A (when combined with a couple of other values). And that's how you get certain languages associated with elite programmers, even though the languages itself does not confer eliteness. It's actually all-but-inevitable that such processes occur in any community of sufficient size that has any sort of skill ramp. There's going to be at least one identifiable group that is the "cutting edge", and they are going to have certain characteristics or tastes or whatever that will tend to separate them from the not-cutting-edge folk.