Which programming language should you learn first?

Welcome back! One of the most popular questions ever asked is “Which programming language should I learn first?”, this is a very strange question because there isn’t any real answer to it. To be honest, any programming language you learn is a great place to start, whether it’s C++, Python, HTML or whatever else, programming is alot more than just the language that you use. In my opinion, you must be able to think like a programmer, but there are still languages that fit certain job types more than others.

So Which Ones Are Better?

To be honest, the standard tech stack for each position is going to differ, a software engineer from one company can use totally different languages than another software engineer, but on average the core languages i’ve seen for software engineers are:

C / C++, Python, HTML / CSS, Javascript and Java

On top of this, a typical Data Scientist tech stack could look something like this:

Python, R, Scala, Julia, MatLab and SQL

Again, these are average jobs that i’ve seen, but now that we have the averages out of the way let’s go in a bit further here. In my opinion, a great programming language to start off with is Python, although it isn’t going to guarantee you a job by only knowing this language (maybe it can for some people), it can still help you learn the core concepts of programming, thus helping you think like a programmer.

Why Python?

Interestingly enough, for almost every single programming job that i’ve seen in most companies, Python is almost always a requirement, of course theres going to be outliers but Python is probably the most common requirement for any programming position. Python is an easier language to learn, it’s still hard to master but Python’s code readability is extremely high (basically meaning the code isn’t super complex to read over). Let’s take a look at a very small example:

Writing Hello World in C++:

#include <iostream>

int main() {
std::cout << "Hello World!";
return 0;
}

Writing Hello World in Python:

print("Hello World!")

This is a very small example, but hopefully this gets the gears turning for this specific aspect. On top of this, the biggest reason why Python should probably be the first language you learn is the community, there are so many people in the Python community, why is this important?

Big Community = More Documentation / Packages / Tutorials

When you have a large community using a programming language, you will almost always have more documentation, packages and tutorials available, why is this important? Because it makes it much easier to build out projects with this programming language. I’ve used several different programming languages, i’ve always found whenever I use a programming language that has a smaller community (especially programming languages that require licenses) it’s always extremely hard to find good quality tutorials, troubleshooting can also be a problem as well. With Python, since it’s used all over the place, you can always find great tutorials and documentation(s) about this specific language.

Another important thing about Python is the ease of starting up, you don’t have to buy a license, you can even get started running some Python code on your web browser using a service like Google Colab:

Python is a great starting point, but it shouldn’t be the ending point. Regardless of your specific job type, you should always be able to utilize another language if the projects requires it. All of the senior level engineers i’ve seen have always known multiple different languages, they would know a backend language, a front end language, a database language, different frameworks and different machine learning packages at the core. This should be you’re end goal, to be able to be fluent in multiple different languages but as I mentioned before the programming languages are one piece to the puzzle, you must be able to think like a programmer. If you’re able to do that, you’ll be able to pick up programming languages extremely easily and learning Python is a great way to begin thinking like a programmer. There you have it! if you want some resources on learning Python I wrote an article last month talking about some of my favorite online Python courses, here is that article:

As Always

if you have any suggestions, thoughts or just want to connect, feel free to contact / follow me on Twitter! Also, below is a link to some of my favorite resources for learning programming, Python, R, Data Science, etc.

Thanks for reading!

Data Scientist / Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store