Hacker News new | ask | show | jobs
by jerf 5368 days ago
"So why does the term “elite” become attached to certain languages over others?"

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.

4 comments

It's not just that elites use other tools and techniques because they are intellectually more curious, it's also a method to establish identity and separate themselves from "the peons".

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.

because they spend more time looking out for new, good things that the average person

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.

>>the best programmers I know use languages that are 20 to 30 years old as their main weapon of choice (C/C++ for example).

C is 40 years old and C++ is 32 years old. (Visual Basic is 20-30 years old, though.)

Well if you want to be pedantic, C++ is actually twenty eight years old (1983), but as the language evolved a lot, modern C++ is probably less than ten years old. It depends on what you can a language and what you call a dialect.

C is indeed almost forty years old.

I've only recently found out that by "Modern C++" most people mean the way to write C++ as exposed by Alexandrescu's book on Generic Programming - is that what you mean too?
There is a huge difference between being pragmatic and beaten into submission by industry, and seeing no value in language innovation. I highly doubt the latter is the case for most of these veterans you speak of.
It could be that, or it could be that the very best stuff was discovered years ago.
The best programmers maybe. But not "elite programmers".

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.

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.

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.

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

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.

You, and most of the other repliers up to this point, haven't fully thought through the implications I was making when I said there can be more than one group of "elite".

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.)

the implications I was making when I said there can be more than one group of "elite".

Uh. Where did you say that?