# How do I learn programming?
While I often emphasize that the biggest part of programming is solving problems, that is not what it is all about. Programming is about building things. As such, I would recommend having an end project in mind going into it, at least for the short-term.
Do you want to build a website? Do you want to make a game? A software plugin? A desktop widget? Robots? Vibrating RGB bicycle handles?
It doesn't matter what it is and it can be as ridiculous as you want it to be as long as you have the grasp of the concept. If you are able to visualize exactly what you want, you would have an idea of what you need to learn, and that, in my opinion, is a better path than brute forcing your way into learning programming systematically.
Google exists, and you'll learn very quickly that it is your best friend.
The programming landscape is just about as huge as the rest of the world. There's so many things out there to learn and it would be impossible to learn them all. And different people want to do different things. You don't need to know everything. You just need to learn enough of what you need to make what you want. Above all, have fun.
# Programming Languages
Often, I see people online asking what language they should learn before they know what they'll use it for. Sure, some programming languages are better for certain applications, and of course you'll eventually need to learn one. But programming languages are tools. I don't think it's the first thing you should be worrying about.
Know what you what to make, maybe look up which languages are good for that, and pick from there. And while you would need to invest time learning a language, it's not a total time sink if you do decide to switch to a new one. Along with learning a language is learning a certain way of thinking that you need for programming, especially if you don't have prior experiences. It's likely just syntax that you need to learn as most of the programming concepts would still apply.