Step 1: Offload the initial selection task to the hype machine. This gives me a smaller set of candidates to work with.
Step 2: Go through the language guides/documentation to understand the core ideas and USP of the languages in the above set.
Step 3: Try to guage the long term viability. This is usually based on some data points but mostly intuition and experience.
Step 4: How does it feel to work with. Is it suitable for the kind of problems you want to solve? Does it provide some technological leverage for the business problem you want to solve, if you are looking for such leverage.
Step 5: Start tinkering with the language(s) that made it past step 4, and be open to update your evaluation during some probation period.
If you want to know my reasoning behind those steps, feel free to ask. :)
Beyond that, I prefer to learn languages that are well documented and have strong communities for support. In my opinion, these not only make it easier to learn the language, but are also good proxies for whether the language will continue to thrive.
Whether that will still be true five years from now is always harder to say.
I've forgotten all the BASIC, FORTH, ColdFusion, etc.that I ever knew, and C/C++/Java never stuck in the first place, so my current language set is Python, Javascript, and SQL (not counting server-side HTML templating languages, CSS preprocessors, etc.).
Ruby's strength is in the webdev ecosystem, but overlaps too much with Python there.
Go looks interesting but is owned by Google. Same with Dart. Swift is owned by Apple, etc.
So right now, Rust is next on my list.
Point is that languages are often specialized or different to themselves for different reasons, and you should keep that in mind when choosing.