As crusso basically stated, the answer is actually twofold because you have to:
#1 Choose a problem that is fun to solve. #2 Learn the language that is the best suited to solve that problem.
Regarding #1 up there, the reason you choose something fun to solve is because programming is hard. But, if you are having fun, the enjoyment of solving will keep you motivated through the tough times. You'll find solutions, push through and level up.
Its the same reason you should pick a career you enjoy.
You hit the nail on the head.
Maybe you want to make cabinets, or houses, or decks. Pick the tools that help you make what you want to make.
Both Python and C++ are general albeit Python had a major disadvantage in performance while C++ in clarity. (That said, more modern versions of both have the disadvantages reduced.)
Or get Unity and learn their built-in scripting language. No need to spend years learning C++, OpenGL, etc. if you're not planning on being the next Carmack.
Yes. After much reflection, I decided that I'm at the "fuck it, I'll use Rails" point for new projects. It's easy, batteries-included, and (mostly) fun.
But I'm willing to stand corrected, because Node holds the capability to revolutionize writing single page web apps (SPA) the way rails did for database-backed server-side apps ten years ago.
(I.e. is there a Node SPA equivalent that can automagically build with a one line scaffold command what Rails did for CRUD?)
https://github.com/libgdx/libgdx/wiki/Using-libgdx-with-Pyth...
Here's a screenshot of something I prototyped. http://pasteboard.co/y6bxRPA3e.png
If you're excited about web servers, pick up Ruby/Rails - or if you think you might want to create a client side application, pick up Javascript and some framework like Angular or React and build something that you can deploy as soon as possible.
If you're into Machine Learning, pick up Python and start going through ML tutorials and jupyter notebooks while attempting to solve some problem in ML that you find interesting.
Don't pick a language based upon some esoteric development principle that undergirds it. Pick a first language based upon its ability to keep you banging away at the keyboard all night, doing something you think is cool.