Why Your First Coding Language Doesn't Matter

Hear me out before you rant

So obviously it does to an extent, so let's go ahead and get that out of the way. If you're doing freelance web work, PHP's your best bet. If you're building cross-platform software (or Android apps), reach for Java. iOS or Mac apps? Swift is the way of the future. But you can accomplish this with other languages as well. JavaScript has several solutions that enable you to write cross-platform desktop and mobile applications by basically building a website, though it won't be a truly native experience. But we're not discussing production here. One of the main questions I get asked as a developer are things like "Which language is best" or "where should I start". THIS is what I'm talking about when I say that it really doesn't matter. And here's why.

Fundamentals and Skills matter most.

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.

But When it Does Matter

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.

More Articles From Nik:

Best Programming Languages to Learn for 2019

How to Become a WordPress Developer

Getting a Developer Job without a Degree