Which Programming Language to Learn: A Simple Guide

You’re on the right page if you know that you want to learn to write code, but you just don’t know where to start. Choosing which programming language to learn is probably one of the most difficult, and over-hyped, topics around the internet today. But it doesn’t have to be.

After this step-by-step tutorial, you’ll not only have a better idea as to which programming language to learn, but you will also have an idea as to what type of application you should be writing with this newly selected programming language.

Looking back at my time writing software, trying to find the “right” programming language to learn has always been one of the most stressful and frustrating activities. Even more so than writing actual code. This idea seems preposterous, but if you have spent any time searching around the internet for “which programming language to learn” you know exactly what I mean.

If you were to perform that search in your favorite search engine right now, odds are pretty good that it would return millions and millions of results. How are you supposed to find the “right” one? The answer is you can’t. It’s like finding a needle in a haystack. How do I know? Because I have been there many times.which programming language to learn - needle

That’s exactly what I want to help you with in this tutorial, because if you are serious about learning how to write code, you don’t want to waste your time worrying about if you picked the “right” one or not. You need to learn how to code. And that is exactly what this tutorial is going to teach you.

Keep reading, and then get ready to take some notes, and take some action, too!


Why Choosing A Programming Language Is So Hard

Have you ever wondered why choosing which programming language to learn is so hard? It’s simple. Our nature as human beings is to want to do everything right. Even the things that we know absolutely nothing about. We spend hours and hours researching whatever topic is important to us at the moment and guess what typically happens at the end of all that research? Nothing.

This phenomenon is what we lovingly refer to as analysis paralysis.

which programming language to learn - choiceNo, this isn’t a computer thing, it’s a human thing. We spend so much time worrying about doing something the right way, that we become overwhelmed by all the different ways to do something. Because of that, we can’t make a decision and then simply give up.

I don’t want this to happen to you.

If you want to learn how to write code, regardless of the reason, then you need to get passed the first step of choosing a language. And the most important thing to understand in the process of selecting which programming language to learn is that at the end of the day…IT JUST DOESN’T MATTER.


There Is No Right Programming Language


Then why am I here?

You’re here because you want to learn how to write code. You’re here because you want to learn how to program. Think back when the idea of writing code or learning to program first came into your mind. Maybe it was in school, or at work, or simply having a conversation with a friend or family member. I’m willing to bet the thought that crossed you mind was something¬† like:

I want to learn how to write code.


Learning to code sounds like it could be fun.


Learning to code could help progress my career.

All of these statements are very true. I’m also willing to bet that the thought that crossed your mind was never:

I want to learn the … programming language.

At least, that was never really why I was interested in computers and programming.

My A-ha Moment

My moment came back in 1995 when my parents purchased our first family computer. Yes, I’m old. We had absolutely no idea what we were doing or how to even set it up. So we called in the big guns. My uncle.

My uncle had been working with computers for years and helped us get it up and running. I remember standing over his shoulder and watching him fly in and out of programs and command prompts making things change all over the place. It was mesmerizing. I knew, right then and there, that I wanted to get into computers and be able to make them bend to my will. I wanted to learn to program computers…NOT LEARN A LANGUAGE.

So the point to this whole ramble. The point to reading this post is simple. I want to help you make a decision as to which programming language to learn. I want to help you to make a decision, and move on.

Don’t get stuck in the endless searching and not take action.

Analysis Paralysis is the enemy.

So let’s pick a language and move on already!


Choosing Which Programming Language to Learn

Armed with the understanding that which programming language you choose to learn when getting started doesn’t matter, let’s go through an exercise to help you narrow down the very long list of possible choices to a small handful.

Remember, the point to this exercise is to pick a language and move on. You are here because you want to learn how to write code and make that pesky computer do what you want. So as you are going through this exercise, don’t overthink it. Simply answer the question, perform the requested exercise, and move on.

In order to follow along, I would recommend having something to use to take notes. It could be paper and pencil, a text app on your computer, a web based note taking application. Whatever you want. You are going to need to take a few notes to help you figure out what type of language you are going to choose to learn.

Now it’s time to get down to business.


Step 1: Identify Your Platform(s)

Platform? What’s a platform? I thought we were only trying to figure out which programming language to learn.

Don’t worry. We will get there. But like anything else, it is easier with a process.

A platform is just a fancy way of saying a physical, computer-like device.


That just means that we can be talking about physical computers, mobile phones, tablets, video game systems, the cloud, etc.which programming language to learn - devices

The first step is to identify what platform you spend most of your time on during any given day. Preferably your favorite platform. You will want to pick something that you are comfortable using that you have regular access to. If you are truly looking to learn to write code for a particular platform, you really need to have at least one of them in your house. That will just make life much easier the further you get into your learning process.

Now take the first 2 or 3 platforms that came to mind and write them down in order of how comfortable you are with them and how interested you are in them.

Here would be my list:

Derek’s Platforms

  1. Computer (laptop & pc)
  2. iPhone
  3. iPad


Step 2: Identify the Types of Operations You Perform on Your Platform

The next step in determining which programming language to learn is to identify what types of things you do on the platforms that you identified above. Do you like to play games that run on those devices? Do you spend a lot of time browsing the internet? This is the time to analyze just what exactly you do when you are fixated on that device.

For this step, you will want to identify 1 or 2 things that you use these platforms for. You may find that you do very similar operations on all of them, or maybe you do different things depending on what platform you are using. These are all valid. All you need to do is write them down and associate them with your platforms that are selected above.

Here is what my list looks like now:

Derek’s Platforms

  1. Computer (laptop & pc)
    1. Browse the web
  2. iPhone
    1. Play games
  3. iPad
    1. Take notes
    2. Play games


Step 3: Find Languages For Your Platform Operations

This is where we really start to figure out what language(s) are going to make sense for you. You are now going to start to build a series of search queries that are going to help you to identify which programming language to learn. At this point you want to make sure that you find at least one, if not several, programming languages that are associated with the types of operations you perform on the identified platforms above.

Why does this matter?

As I mentioned before, you are here to learn about writing code, right? In order to learn about writing code, or anything for that matter, it really helps to have some sort of vested interest in it. By focusing on a language that is in some way, shape, or form, affiliated with something you are interested in, you greatly improve you chances of not only learning it, but retaining the information as well. And since we are trying to set you up for success, let’s just go with that.

Building Your Search Query

So how do you build this search query thingy? Well, it’s pretty simple. You are going to start by taking the key word(s) from your operations that you identified in step 2 and join it with its associated platform from step 1 in the following sentence:

Languages used to build <operation key word> for <platform>

With this special search query template, let’s fill it in with some of my samples from step 2.

Here are a couple of my search queries:

  1. Languages used to build web apps for computers
  2. Languages used to build games for iPhones

Gather Your Possible List of Languages

which programming language to learn - searchArmed with these new search queries, you are now going to copy and paste them into your favorite search engine and do a little research. Once you find yourself on each search engine result page, pick a few of the links and read through the content. Odds are pretty good that looking through each of these result pages you are quickly going to find a few similarities.

It’s interesting how you can really build lots of different kinds of applications for different platforms using the same languages. But you will learn to take advantage of that later.

Once you start to find languages for each of your searches, write them down under each of the operations you have in your growing list.

NOTE: If you start to see certain languages grouped together, make sure to group them together with some sort of group description in your list. Odds are pretty good these groups of languages will possibly need to be learned together.

Going through my search results, this is what my list looks like:

Derek’s Platforms

  1. Computer (laptop & pc)
    1. Browse the web
      1. Front-end: HTML, CSS, JavaScript
      2. Back-end: JavaScript, PHP, Python, Java, C#
  2. iPhone
    1. Play games
      1. Swift
      2. Objective-C
  3. iPad
    1. Take notes
      1. Swift
      2. Objective-C
    2. Play games
      1. Swift
      2. Objective-C

PRO TIP:¬†Just because you find links that have fancy words in them like BEST, TOP, MUST LEARN, etc, etc, don’t be seduced by these. Remember, we aren’t trying to answer the general question of what programming language to learn. We are trying to focus on identifying what is best programming language for YOU to learn.

Great! You’re so close. So close that you might even think that you have figured out which programming language to learn. But you aren’t quite there yet. You have one more hurdle to jump!


Step 4: Verify Language and Platform Requirements

Finally, and often times most importantly, we are going to need to make sure that the languages we are identifying as candidates can even be written using the resources we have on hand. Makes sense right. I mean, what good is it to come up with this great list of languages and pick one, only to realize that you can only create apps with that language on a Mac and you have a PC? Total waste of time. So let’s not fall into that trap. Believe me, I’ve been there before.

For this step, you are going to once again take a search query template and fill it in with some of your own words.

Here is your search query:

Tools required to start building <language> <platform> apps

Now go through list that you built up in step 5 and fill in these blanks to figure out any requirements.

Here are some samples from my list:

  1. Tools required to start building html web apps
  2. Tools required to start building swift iPhone apps

Going through some of the search results I can see fairly quickly if there are any special requirements.

I find that for the web apps, there are number of different tools that I could use and a lot of them will work on Macs AND PCs. So if that is the route that I choose I would be pretty well covered.

Swift and Objective-C apps on the other hand…well, that’s a different story.

In order to write apps that run on Apple mobile devices such as iPhones and iPads, there are a few requirements. For instance, you need to have some sort of Mac hardware like a MacBook or a Mac Mini. After that, you will need to use their Integrated Development Environment (IDE) called Xcode that only runs on Mac hardware. So, if you don’t have access to a Mac on a regular basis, you are better to move on.

Make Your List

Once you have identified any requirements you either have or don’t have, it’s time for the moment of truth. If you don’t have any of the requirements for a particular type of language or platform, simply draw a line through it on your list. Very satisfying, isn’t it!

Now, make a list of your final contenders.

Here’s my list:

My List of Programming Languages:

  1. Front-end: HTML, CSS, JavaScript
  2. Swift
  3. Objective-C

Hopefully by now, you have your own list in hand. If that is the case…


Step 5: Pick One Already!

It’s now the time where the rubber meets the road. It’s time to make your selection and finally answer the age old question of which programming language to learn for yourself. And it may come as a surprise to you, but there is no magic sauce to this. Look at your list, go with your gut, and just pick one already!

“But what if I pick the wrong one?”

That’s the beautiful part of this. There is no wrong choice. You pick one and you start learning about it. If you don’t like the way that it is going or it doesn’t seem like a good fit, pick a different one from your list. THAT is why you made a list.¬† It gives you options.


A Quick Summary

I really hope this step-by-step guide has helped you demystify the process of trying to figure out which programming language to learn. Often times when combing around the internet, we get overwhelmed by all the hype and all the options. Besides that, we succumb to our own human tendencies to get so wrapped up in choosing the “right” language that we do nothing. Our old friend analysis paralysis sets in.

I really feel that if you simply step back and follow these 5 simple steps, you will find this process doesn’t have to be so scary.

Those 5 simple steps again are:

  1. Identify Your Platform(s)
  2. Identify the Operations You Perform on Those Platforms
  3. Find Languages For Your Platform Operations
  4. Verify Platform and Language Requirements
  5. Pick One Already!

Once you get good at this process, feel free to use it over and over again. I have used this process for years to figure out what new languages I want to learn and which ones I ultimately want to teach my students.

Now that you have picked your language, leave a comment below to let me and everyone else know what you landed on. I can’t wait to see what you are going to learn!

Leave a Reply

Your email address will not be published. Required fields are marked *