Which programming language to learn?
What you need to know is that it doesn't matter that much which language you choose, as long as it is possible to achieve with it what you are trying to do.
This article is meant as an general overview. It just scratches the surface of the choices and possibilities that you have.
Language types.
Browser based
Languages that are used for browser-based development. (Websites, Webapps)
Low-Level
Low/High level means how much abstraction they have above machine code. (0's and 1's)
ASM is considered one of the most low level programming languages. You input data directly into computers registers
C and C++ are considered low level but they have some high level elements.
High-Level
C#, Java, Python, Ruby are the most popular examples here.
What is a scripting language.
It is pretty much any language with which you can extend functionality of an existing application.
When creating mods for video games you will likely use LUA or Python, but for example programming in Unity with C# is also considered scripting.
Do you want to program as a hobby or want to be hired?
If it is a hobby or if you want to build something on your own, it is practically up to you. If you are looking to be hired by a company, your options are starting to get limited. On top of knowing the skills it will also help to have some certification.
What do you want to program?
Websites
The most common approach here is to use HTML + CSS + JavaScript for frontend. (designing the look of the website)
For backend (website functionality), commonly used options are Ruby on Rails, Python and PHP. It is also possible to work on backend with JavaScript with libraries such as Node.js.
As an alternative to JavaScript, TypeScript is gaining popularity.
Mobile Applications
Here you need to decide if you want to support Android, iOS or both.
Android
Java is the standard. It is also common to use C++.
iOS
Apple uses Swift for their devices. C++ is also an option.
Both
There are some libriaries out there that let you write multiplatform code, most commonly in C++ and C#.
Desktop Applications
C++, Java and C# seem to be leading here. Python is mostly used for scientific computing.
Video Games
Majority of companies use C++ engines for their games, but there is also a variety of other options. I will only list most common ones.
Unity3D
While it has support for three scripting languages (C#, JavaScript, Boo), recently mostly C# is used.
UnrealEngine 4
Blueprints (visual programming language, drag nodes instead of writing code) and C++
Godot3
GDScript (in-house language similar to python), C++, C# and more languages are being added.
JMonkeyEngine3
Java
With creating video games it is possibile to find an engine or library for most (if not all) languages that are able to create executable file. It is also possible to create browser based games, for example with Phaser. (JavaScript)
Electronics
If you want to program microcontrollers such as Arduino, C and C++ are most common.
Machines
I have virtually no experience programming machines, here your choices would be limited to ASM and its offsets, but if you are interested in doing that, you are probably already taking university course. :)
Drivers / Operating Systems
Drivers are created mostly in C. For operating systems, while there are some amateur projects done in "strange" languages, ASM, C and C++ are leading.
Don't choose C++ as first language.
Don't be me. Since you most likely have noticed that C++ appears nearly everywhere, you might think it would be smart to learn it. And it is. But it is also very hard.
My recommendations for "easy" languages:
JavaScript, Java, C#, Python