Programming is fun, but when you’re a complete beginner it can be daunting, especially because there are so many programming languages out there! Many people have a hard time deciding with which programming language they should start with, but the thing is, the answer is different for everyone.
What is your goal?
To decide, ask yourself the following questions:
- What is your goal in learning programming, that is, why are you learning to program?
- What are you hoping to build and how do you see your career develop in the future?
- What interests you?
- What makes you happy?
Learning to code should be seen as a step to getting you to point X: whether it’s a project, a career, or anything that makes you excited or happy, you should see it as a tool for getting you there. There’s no magic formula to learning (or using) programming languages, the choice depends on your desired destination.
To anyone asking themselves this question, I want to say this: take a step back and ask yourself what you’d like to do with your newly acquired programming skills — which field you’d like to dip your toes in first — and then figure out the programming language to get you there!
It’s important to find something that will make you happy!
The reason why I (and many other coding professionals who have your best interests at heart) am stressing this so much is that I want you to find something — a job, a side-hustle — that makes you happy, and not just another mundane thing to do. Learning something that doesn’t excite you to then have a job that doesn’t make you happy is a waste of time.
According to Business Insider (quoting stats from Happiness at Work, a book by Jessica Pryce-Jones), people living in the US will spend, on average, 90,000 hours, or around 43 years, working in their lifetime. Do you want to be stuck doing something that doesn’t make you happy for all those years? Of course you don’t. The more difficult question for most of us is what will make you happy and excited every day. What would be a fun challenge and a goal to work towards? What would you want to be remembered or known for?
Do your research.
Programming languages are as diverse as foreign and other practical languages (add maths, musical annotation, or sign language to this list) — different programming languages will be used for different purposes and to solve different problems. All of them have their pros and their cons, so it’s necessary to do detailed research before starting to learn one — and maybe try learning programming fundamentals to understand the computer logic and rules of syntax that every programming language comes with. And once you decide on the language you’ll be learning, be aware that just like with spoken languages, there are different rules you need to follow, so learning language-specific syntax is a good start.
Learning programming fundamentals outlined above is easiest to do if you dip your toes in a couple of easier, more approachable programming languages. There is a plethora of free online coding courses that can help you with that — and you don’t need to commit too much time nor intellectual effort in order to give them a whirl. I’ve made a list of these nifty courses for you, and if one of them pulls you in and seems like something suitable for your project, you can always go ahead and continue learning that specific language in depth! ?
Narrow it down
Before you go and start learning everything at once, however, it’s a good idea to narrow down the list languages that you might be interested in learning, based on what you’d like to build with them, or the industry you’d like to start in, by looking through some of the popular languages out there and what you would be building with them:
- web applications, data science, machine learning and AI: Python
- Android development: Java or Kotlin
- iOS development: Swift or Objective-C
- Windows-based platforms, game development and VR: C#
- software and game development: C++
In summary, there’s isn’t one programming language that’s one-size-fits-all for all programming beginners. You shouldn’t learn a language just for the sake of learning it, or just because you want to earn a lot of money with it (although that’s a pleasant side-effect of being proficient in one or many programming languages). You should first ask yourself what you’d like to build and work on and continue from there on a path that will, above all, make you happy.
You’re likely to learn more languages as you progress
Remember, if you find the language you picked at first doesn’t cut it for your needs, extra knowledge is never a bad thing — you can always switch and don’t worry, because everything you learned from the language you started with can be applied in one way or another to the new one! In fact, you are very likely to learn other programming languages, because throughout your career in the ever-evolving tech world others will come up that will help you achieve different goals.
What language did you start (or are thinking about starting) in? Did you make a switch from one to another, or are you learning in parallel? Do you have a suggestion or question about starting to learn to code, or do you just need to vent a bit about recursive loops? Write a comment below! ?