Jesse Farmer says "Motivation, frustration tolerance, social
support, and access to
expertise are all more important than the raw language when
you're
trying to become a programmer.".
However, what about when you're past that stage? Say you want to
build your portfolio on the way to getting your first job or you
want to change specialties for your fourth. Maybe you have a
start-up, or you just want to build cool stuff.
Some languages (and frameworks!) are a better fit for projects
than others.
Why? There are several types of programming paradigms.
If you are modelling a process or creating a game, you would find an object-oriented programming language to be more intuitive to use, whereas if you want to manipulate data you may prefer to go with functional. Why? They go with the flow.
You'll notice that some languages have multi-paradigm support.
You'll also notice that they are the most popular languages. This
is not a coincidence.
It's also well worth learning languages from new paradigms for the intellectual challenge.
If you're doing that, Steven Grimm recommends:
Other factors you might like to consider are
Without further ado...