TL;DR (I don't blame you, it's not that funny):
Have you already established a language for your project or team?
Yes: Keep using that fucking language. Unless you can't accomplish your goals with your current language, you're setting back progress by starting with a new language.
No: Are you building a mobile app?
Yes: Are you building for Android, iOS, or both?
Android: Looks like you're using fucking Java. Hybrid apps suck.
iOS: Use fucking Swift. Hybrid apps suck.
Both: Time to learn fucking Java and Swift. Hybrid apps suck, so your dumb ass needs to learn both.
No: What the fuck are you building?
Web app/Networked application: Is it a client-side app?
Yes: Looks like you're stuck with fucking JavaScript you poor bastard.
No: Are you working for an established enterprise or a startup?
Enterprise: Just use fucking Java. No one ever got fired for choosing Java.
Startup: Do you give a shit about concurrency?
Yes: Do you know why you give a shit about concurrency?
Yes: Are you into functional programming?
Yes: Do you need to use the Java Virtual Machine for some fucking reason?
Yes: Use fucking Clojure
No: Use fucking Rust or Elixir. I've got you this far, choose whichever one doesn't look like shit to you.
No: Use fucking Go.
Not really: I didn't think so you asshole. Just use Ruby - probably with Rails - and get the fuck out of my office.
No: Do you need static types?
Yes: Use fucking Dart
No: Do you want only one language in your codebase?
Yes: You're stuck with fucking JavaScript, but you already knew that
I don't care: Are you already familiar with at least one programming language?
Yes: Are you nostalgic for the web of the early 2000s?
Yes: You should probably stick with fucking PHP
No: Use fucking Ruby
No: Use fucking Python. It's easy to learn and very powerful.
Desktop app: How fucking lazy are you?
Really lazy: Damn it. Just use fucking Visual Basic. I hope you're proud of yourself.
Sort of lazy: Just use fucking Java.
I'll sleep when I die: Do it properly in some fucking dialect of C