LearnWhich Programming Language Should I Learn First?


Ryan Carson
writes on December 7, 2017

Once you’ve decided to learn to code, one of the hardest questions you’ll ask yourself is: which programming language should I learn first? Let’s look at some of the concerns you might have before you begin learning, the programming languages you have to choose from, and how to decide which one is the right fit for you.

Initial concerns you might have

It feels final

It might feel like once you choose a language you’re making a final decision about what you’re going to be doing for the rest of your life – that’s normal. While some people have successful careers within one programming language, most developers know several different languages – and many change their focus until they find the right one for them. Whichever language you start with, rest assured it doesn’t have to be the only language you ever learn. As a developer, you’ll be a lifelong learner, so expect to learn many different programming languages through your career.

Programming Languages seem very different from each other

While programming languages can have very different syntax – or rules –  and each language was developed to solve unique problems, the great news is that all of them share certain common concepts, so learning one language will make it easier to learn the next one. As you pick up your next programming language, you’ll also learn more about that first programming language that you probably missed the first time, so all your learning is connected!

What if I pick the wrong language?

The reality is some languages are harder to learn than others (especially if it’s your first language). However, every language has been someone’s first and they’ve been through the same issues that you’re experiencing. Ask questions in online forums like the Treehouse Community and you’ll be amazed by how eager other learners and developers are to help one another.

If you do find yourself struggling and feeling like you’ve picked the wrong language, you may have picked one with syntax that is more verbose, but that doesn’t mean you can’t learn it. Be patient and take the opportunity to rise to the challenge, once you overcome it, you’ll be even prouder of what you’ve accomplished.

After you learn the basic concepts of a language, you may also find that the next concepts are more challenging. When you want to give up, that’s when you’ll want to work even harder. Push through your confusion, take good notes, and learn as much as you can. By pushing yourself you’ll find that you can learn anything. 

Which programming languages are there to choose from?

Once you’ve overcome those initial concerns, it’s time to start coding. But now you’re faced with the next step: which language should you choose? When you’re new to coding, these are the main modern programming languages you’ll likely be considering:


People often begin coding by learning HTML and CSS. Why? These 2 languages are essential for creating static web pages. They’re the foundations of everything on the web to some degree, from simple websites to huge and complex applications.

HTML (HyperText Markup Language) structures all the text, links, images and other content on a website. CSS (Cascading Style Sheets) is the language that makes the web page look the way it does – the color, layout, and other visuals that we call style. If you are interested in making websites, you’ll definitely want to start with HTML & CSS.

Check out our beginner HTML and CSS courses


JavaScript is the first programming language for many people. It’s the logical next step to take after learning HTML & CSS. JavaScript started out as a simple web programming language intended to add a few interactive features to websites – however it’s grown into an incredibly powerful programming language used on nearly every website in the world. Learning JavaScript will also put you in a good place skills-wise as it continues to become a more general purpose language.

Check out our beginner JavaScript course


PHP is one of the most popular web languages – it’s also one of the first accessible programming languages designed for manipulating information on websites. If you’ve used Wikipedia or Facebook you’ve used a site powered by PHP. Almost 27% of the web is built with PHP! Developers love PHP because it allows you to easily add dynamic information to websites and it’s great at manipulating databases so that you can access and store information about your users.

Check out our beginner PHP course


Python is a general-purpose language that is used for everything from server automation to data science. You might think Python is named after the snake, but it’s actually named after the British Comedy group, Monty Python. Thanks to this, Python has a long history of not taking itself too seriously.

Python is a great language for beginners because it’s easy to read and understand. Anything you want to do, you can do with Python. It’s also a language you can stick with for quite a while before needing something else. It’s also another popular programming language. The US Government uses Python to do statistical analysis and visualizations. Disney, Pixar, and Lucasfilm even use Python to add more realistic effects in their movies. And big websites like YouTube, Instagram, and Reddit also use Python.

Check out our beginner Python course


Ruby is often associated with the Rails framework that helped to popularize it. It was created in the mid-90s by Yukhiro “Matz” Matsumoto. Used widely among web startups, Ruby on Rails makes it easy to transform an idea into a prototype and later into a working application. As a result, many tech startups and programmers use Ruby to build the early versions of their applications. Sites like Hulu, Basecamp, and Airbnb use Ruby on Rails.

Check out our beginner Ruby course

iOS: Objective-C & Swift

Objective-C and Swift are two languages that are used to do the same thing – build apps for Apple Devices like the iPhone or iPad. Objective-C is based on C and can be a bit verbose and challenging language to learn – but it can be very rewarding because you’ll be able to make apps. Swift is the most recent app-creating language that is recommended for newer iOS developers since it is intentionally easier to read and get you up and running.

Check out our beginner Objective-C and Swift courses


Released in 2000, C# was created by Microsoft. However, just because it was created by Microsoft doesn’t mean that the C# language can only be used for Windows Applications.  C# is a general-purpose programming language that is used for video games with the Unity game engine, writing web servers, mobile applications, and ASP.NET.

One of the goals the designers of C# had was to create a programming language that was less prone to errors. That means it’s harder to write software that will crash when it runs. This helps you avoid all sorts of headaches and make coding a lot more fun.

Check out our beginner C# course

Android: Java and Kotlin

Now despite its name, Java is not related to JavaScript. Today Java is used to power web applications like Amazon and Gmail – and in mission-critical enterprise applications, like banks and hospitals – it also powers Android Apps so it’s a good choice if you’re interested in mobile development.

Kotlin is an easier to read and more code efficient version of Java that was created by JetBrains in 2011. But you’ll want to learn Java first before you can truly understand and take advantage of the coding simplicity that Kotlin offers.

Check out our beginner Java and Kotlin courses

Start learning to code today with your free trial on Treehouse.

Which programming language is right for you?

So now you’re familiar with the languages, but which one should you choose? Here are a few helpful considerations for your decision:

What do you want to do?

If you are interested in working for a specific company, you’ll want to take a look at their job boards. They’ll list specific requirements, often including the programming languages you’ll need to be able to use. Don’t worry if you don’t meet any of them now. You will. But that’ll give you an idea of the direction you’re heading and focus your learning.

What do you want to build?

This is one of the most challenging questions to answer. Knowing what you want to build solves the ‘what programming language should I learn first’ question quickly – because the language is just a tool to get you where you want to go.

If you don’t know what you want to build, check out a site like this one https://github.com/karan/Projects it has a list of projects that can be completed in any language. Consider them a coding challenge for yourself (and start with the easiest one).

Once you’ve decided on a programming language you’ll discover that there are tons of resources to help you learn. From online schools like Treehouse to podcasts, books, apps, conferences and meetups. Now it’s time to immerse yourself in the new language. But the most important thing is that you’ve decided to learn to code, and you’re gonna love it. Remember, coding is fun, and therefore learning to code should be fun too.

Check out our free workshop version of this post below: how to select your first programming language with Treehouse teacher Craig Dennis.


Learning with Treehouse for only 30 minutes a day can teach you the skills needed to land the job that you've been dreaming about.

Get Started

6 Responses to “Which Programming Language Should I Learn First?”

  1. Good general outline of the languages. Might be worth separating into back-end and front-end disciplines or expanding into commonly used stacks as I think most novices fail to realize they’ll need multiple languages to create a full site.

  2. For me HTML/CSS first. Then followed by Javascript and PHP as well as SQL.

  3. phyton is good for start. my opinion.

  4. I started with html and css as mentioned above. These were fairly easy to understand and gave me the most initial satisfaction. Being able see visual changes immediately with a slight change of code kept me interested and motivated! I have since moved onto JavaScript which for me, is increasingly more difficult to understand – and less satisfying in the short term. No doubt html css and js come hand in hand when aspiring to be a front end developer so you just have to keep it going. Challenge yourself with small simple scripts and just have fun with it. If it doesn’t work first time, try it again! Don’t get frustrated and try to keep enjoying your learning experience . Part of learning is making those mistakes ..

  5. Yair Halberstadt on December 8, 2017 at 7:07 am said:

    I started learning with C and then C++. Whilst I don’t regularly use either of them in my professional work (I use C# in the main), they forced me to really understand programming from the bottom up.

    Having started with C, I understood what the computer was actually doing every time I ran a programme, the nitty-gritty of programming if you want.

    Then C++ took all the problems that C had, and solved them with meticulously thought out OOP solutions. By learning it C++ properly you really understand the philosophy behind OOP.

    Of course C++ has plenty of problems. But that meant that I now truly understand the benefits of C#, and can use the principles that C++ taught me in any language I need.

Leave a Reply

You must be logged in to post a comment.

man working on his laptop

Are you ready to start learning?

Learning with Treehouse for only 30 minutes a day can teach you the skills needed to land the job that you've been dreaming about.

Start a Free Trial
woman working on her laptop