So one of the questions that we often get from people (students and potential students alike) is this:
Which programming language is the βbestβ for me to learn?
Truth be told, this is not as easy a question to answer as most would think.
Ask 10 different programmers, and youβll get 10 (or more) different answers. Everybody and their mother has an opinion, and theyβll be happy to share it with you.Is it any wonder that people who want to learn programming get confused and donβt know where to start?
The truth is, this question is a little too vague to answer accurately.
When you ask what the best of anything is, this is subject to why youβre asking the question.
βTake this very Malaysian example:βI want to eat nasi lemak. Which is the best nasi lemak restaurant in town?β
Itβs a similar situation: You ask 10 different Malaysians, theyβll give you 10 different answers. You try to Google the answer, and Google gives you a list of reviews for about 20 different nasi lemak restaurants that are nearest to your location.
But if you were to make your question more specific, people would find it easier to help you out.
βI would like to have nasi lemak for lunch this Thursday. I usually go for nasi lemak with the fluffiest rice and the spiciest sambal. Any idea which restaurant would be best for me to visit?β
Now people know what you want/need, and they can tell you that Restaurant A has really good sambal, but is not open on Thursdays, so as an alternative you could try Restaurant B instead, where the sambal is not as spicy, but itβs still quite good and the rice is fluffy and fine. And if cost is a factor, then go for Restaurant C instead, etc.
That helps you narrow down the list, and eventually determine which restaurant youβll be visiting for lunch on Thursday.
Yeah, I may have digressed a little too far into the example, but I think you get the idea.
Basically, before anyone can tell you which programming language is the best, they first need to know why you are asking and what you are actually asking for.
βSo if this is a question that you would like to personally know the answer to, here are some of the best answers that might suit your situation:
Q1. What is the best programming language for my skill level (Beginner/Experienced)?
β
If youβre just getting started with learning programming and know next to nothing about coding or software development, then Iβd suggest you get started with Python or Ruby. These are two of the easiest coding languages to learn. Theyβre simple, readable, and most importantly, scalable. And if you eventually plan to move on from one of these to another programming language, youβll be able to do so easily. Think of it like learning Chinese, then moving on to learn Japanese – the two languages come from a similar base, so once you master Chinese, Japanese will come easily to you.
βJavascript is also another good option.
If youβre already an experienced programmer, then you probably already have a good grasp of the basics. Whatever language you decide to learn next depends largely on what you need. If youβre thinking about job options, then Javaβs a pretty good bet. If youβre looking for something more challenging, then Iβd suggest looking at C++.
βNo matter the skill level, Iβd suggest knowing why you want to learn a certain language so that you can weigh the pros and cons and pick the one you need.
Q2. Which programming language is the most popular?
Well, in terms of popularity, Python and Ruby are among the most well-known programming languages.
βJava is also definitely up there as well, along with C, C++, Javascript, PHP and Objective-C.
βSome programming languages that are up-and-coming which you may wish to take note of are:
- Perl
- Go
- Rust
- Hack
- D
Q3. I would like to work as a (insert tech job here). What language should I learn?
Depending on the type of job youβre aiming for, the βbestβ language may differ.
Of course, it would be very impressive if you were able to walk into an interview and tell them that you know like 5 different programming languages, but it would probably be a better idea to target one language that is needed for the job that you want.There are a couple of different approaches you could take here:
- Choose the language your target employer uses: If you know the company you want to work for uses say, Ruby, then thatβs the programming language you should know before applying for a job there.
- Choose a language that is in-demand by many employers: A recent study done in 2016 indicates that the most in-demand languages for 2017 are Javascript, Ruby, Python, Hack, HTML/CSS, C/C++, Python, Elixir and Swift. If itβs not feasible to learn all these languages before applying for a job, aim for widely-readable languages such as Python and Ruby. This way, if you should need to learn a new language in future, youβll already have the basics in place.
- Choose a language that youβre familiar with: Many interviewers will ask you to do a pseudocode during the early interview stages, to see how well you know a certain language, how well you can write code without an integrated development environment (IDE), and how comfortable you are writing real code. Whatever language you learn, make sure youβre familiar with it and know it well.
If salary is important to you, then this infographic will probably be helpful – it ranks the programming languages by average potential developer salary:
Q4. Which programming language can I learn online?
Considering that you can learn pretty much anything online nowadays, the better question should be: Which online course or coding bootcamp should I sign up for?
Sites like Codecademy, Treehouse and Code School pretty much cover most of the popular coding languages between them. However, they have different course syllabi and different price points, so you need to do your due diligence and check all of them out before deciding which site is best for your needs.I wonβt go into the pros and cons of each site here (this isnβt that type of blog post), but feel free to research on your own.
If studying online on your own isnβt working for you, then you may want to consider registering for a coding school or bootcamp instead.Before signing up for any online course or bootcamp, ask these questions:
- How much does it cost?/Can I afford it?
- How long is the length of the course/bootcamp?
- Which programming languages do they teach and what is the syllabus?
- Do the course/bootcamp components match what I need to learn?
- Are there any instructors/mentors available, and what is the instructor-to-student ratio?
- After graduating, will the course/bootcamp help connect me with potential employers?
- Are there any reviews/testimonials from previous students? What was their experience?
Conclusion
To conclude, there is no concrete answer to the question βWhich is the best programming language for me to learn?β
It really depends on what you need, and you will need to do as much research as you can in order to find the best option available for yourself.
There is a ton of information out there, and sorting through it all can be really time-consuming but if youβre serious about wanting to learn to code, then itβs something worth investing time and effort into.Keep in mind that being a programmer isnβt about learning the best language, but rather about the ability to solve problems, learn new things and get stuff done.
If youβd like to check out our coding and digital bootcamps, you can find them here:
-
Josh Tenghttps://www.nextacademy.com/author/josh/
-
Josh Tenghttps://www.nextacademy.com/author/josh/
-
Josh Tenghttps://www.nextacademy.com/author/josh/
-
Josh Tenghttps://www.nextacademy.com/author/josh/