All languages these days share the same basics. If/else statements, for/while loops, they're all largely the same from one language to another. Here's a good example. The language I know best is far and away from PHP. This is due to the type of work I do for not only Red Shark Digital but also little passion projects I think up in my spare time. But PHP runs on the web, not desktop or phones. Well, sometimes I want to build an automation script that sits on my computer and does a daily/weekly/whatever-time-ly task. PHP isn't going to do it, so I need to reach for something like Python or Ruby. And as much as I love those languages, I don't know them nearly as well as I know PHP.
But that doesn't matter.
The fundamentals are the same. So if I know how to do it in PHP, it's pretty much as simple as looking up the Python/Ruby/Whatever version of the functions/methods I would use if I were building it in PHP. Looking up how to write small pieces of your application is a HUGE part of being a developer. Knowing a language isn't about having all of the syntax and functions memorized. It's about knowing what tools are available, how to organize a project and execute it efficiently, things like that. A huge part of having experience is really just having more and more creative ways to use the same basic tools in new ways to accomplish more challenging tasks.
Unfortunately, a lot of new developers get caught up in finding the perfect first language and jump from one to another too quickly to get the fundamentals of any one language. Even if you realize you're not learning the best language for what you really want to do, it still benefits you more to continue learning that language until you're able to build small but useful applications with that language. It makes 'learning' each new language all the easier. It's a lot like learning Spanish when you natively speak English. It's a huge hurdle at first, but you've opened yourself up to a whole new world. And then when you go to learn another equally similar language, say Italian, you'll find that the two languages have a lot of similarities. Though if we were to be entirely honest, the difference between programming languages would be better represented with the difference between Mexican-Spanish and European-Spanish. Sure, the slang (or syntax) is going to be different, but you'll be able to understand it just fine either way.
Then how do you choose? We've written a handful of blogs about this! You can find more blogs, as well as other development-central topics that have caught our interest. Start with deciding if you want to do Mobile, Desktop, Web, or something like Machine Learning/AI. This will quickly limit the overwhelming number of languages to choose from. But seriously, don't spend a whole lot of time on this. This isn't your final decision. Just pick one that will keep you interested and motivated, at least long enough to get through the basics and get a handful of projects under your belt.
Okay, so you've picked a direction. Now the language. Seriously, don't waste a lot of time on this easier. Look at the syntax and see which one excites you the most. You want to be as comfortable as possible when you're learning. That's the most important, in my opinion. Pick something that feels comfortable, and useful to what you want to do. Then just dig in. Don't worry about which language has the most jobs right now, don't worry about what frameworks or libraries are used the most, just get started with the basics.
If you're learning programming because you're looking for a new career, you may have even been wondering if it's possible to get a job without a degree. Short answer: yes. Long answer: stay tuned. I'll be discussing that soon.