Hacker News new | ask | show | jobs
by munificent 2823 days ago
The TIOBE index is hot garbage, and always has been.

Even so, this article is also pretty bad. Nowhere does the author define what he means by "popularity", which is one of the key problems all of these popularity contests suffer.

If we say "Language X is more popular than language Y?" What does that mean? Answers could be any of:

* Total extant corpus of X is larger than Y.

* Number of people who know X is larger than Y.

* Amount of open source code in X is greater than Y.

* Number of people currently writing X (how much?) is greater than Y.

* Number of people who want to be writing X is greater than Y.

* Number of jobs available for writing X is greater than Y.

* Number of people talking about X is greater than Y.

These are all wildly different metrics but all have reasonable claims to represent "popularity" and/or are what some of these rankings claim to show.

To do anything useful, you really need to know what problem the reader is trying to solve and pick a metric that helps that problem. Is the reader trying to decide what language to learn to find a job today? To get ahead of the curve and be an expert in five years? To discover a new exciting language? To choose a language to use for a large, conservative project? A small ambitious one?

3 comments

This is a false aggregate: https://blog.shortbar.com/false-aggregates-571745b2d483

If I'm writing a game I care about what's most popular with games. If I'm writing an enterprise reservation system, I care about that.

These languages really live in completely different universes and I think it's time we acknowledge that. The one-size-fits-all survey of this sort feels like a holdover of a time when software development was far more homogeneous.

It's yet another example of how the entire profession is getting more specialized. You used to be a "programmer". Now you're a data engineer, ops engineer, front-end engineer, back-end/full-stack engineer, ios/android/react, system/OS programmer, etc. These are becoming entirely different jobs with little crossover between them, just like family law vs. criminal law vs. estate law vs. corporate law.

https://blog.shortbar.com/the-end-of-the-country-developer-7...

> You used to be a "programmer". Now you're a data engineer, ops engineer, front-end engineer, back-end/full-stack engineer, ios/android/react, system/OS programmer, etc.

I still wonder when there's actually going to be official training in these specialties, that counts as credentials when seeking employment. As far as I know (and I could be wrong), traditional education tends to be somewhat general.

Which specialty you're qualified for seems to have more to do with what job you happened to hold when the specialization split began, rather than something you deliberately decided to study.

(Okay, I'll admit that there are training courses in all manner of things, but they don't seem like a formal course of study you can actually put on a resume.)

I've been thinking about this recently.

The split started to happen about 5 years ago and it's really picked up velocity in the last year or two, to where it's getting hard to "jump" if you want to change. It's one of those slow, long-term things that's easy to miss if you aren't paying attention.

I think Udacity has a good model for this. I'm a generalist dev who has let curiosity drive my career more than anything else and feel I'm paying the penalty for it. Most places seem to want 5+ years specialization in whatever you're applying for if you're coming in at the senior level.

It's getting harder asking people to trust you if your resume isn't properly "tracked" into one specialty. I think that's a huge loss in terms of diversity and cross-skilling but perhaps necessary given the immense amount of sheer knowledge there is in each area, e.g. the entire iOS or Android API set.

As has always been. Academia is a trailing indicator for the job market, except in a very small group of innovative fields.

This is just a return to the norm.

You can totally do a MOOC in any of those things and put it on your CV
Which tends to be a signal for being unqualified
What would you consider to be “official” enough then? All EdX MOOCs are backed by real institutions, for example.
Or maybe we're starting to act like a real profession, adopting the idea of "continuing education" they have in every other field from law to dietetics?

Just a thought

I think the most useful popularity vector of a language is probably "What proportion of good programmers I interview will know a language" that vector would influence what language a company might chose to build a new product in in order to ensure they can find good developers to maintain it.

Actually a better question might be "What proportion of good programmers I interview will know a language in five years".

That's going to vary wildly depending on who you interview, which is going to depend on what sort of thing your company does. A game studio is going to get people that know C and Lua with a fringe group that are excited about Rust, while a big enterprisey company is going to get Java and C# developers with a fringe group that are excited about F#. (Maybe these examples are all wrong, but you get the idea.)
I absolutely agree, yea, and it's locality based... so up here in Vancouver it's really easy to find people familiar with AWS and system programmer types (Java/C++) along with the strong web development scene adding a lot of availability to react, node, a little bit of remaining angular.

But within that market it's further divided, if you're looking for non-game related Objective-C developers you'd probably be in trouble and so on...

It really is a super complex question, but that's the sort of ranking vector I'd be more interested as opposed to "How quickly do stackoverflow questions get accepted answers?" and I am under no illusion that it'd be super hard to measure.

There can also be local factors at work if you’re looking for a job. I had a job doing Elixir/Erlang (obviously not something people are writing everywhere), and did an analysis of job listings for languages in my city.

I ended up finding C#/.NET was listed on 33/50 recent job listings, Java was on 30/50 (some jobs had multiple languages listed), and other languages cropped up between 1-20 times or so.

So in my market, if I want a job where I don’t relocate (with a 3 year old and a baby and a wife who chooses not to work non-remote SV jobs are out), I’d better get to learning C#.