In my previous post I discussed how you can get started with programming with just four easy steps. The next big step for you is to think of how to choose your first programming language.
But which programming language should you learn first? How do you decide?
There are so many different programming languages to choose from. If you’re a beginner, choosing one may feel daunting and overwhelming. Each programming language has its own characteristics, features, and applications. They all are used to accomplish different thing.
There are a few points you need to consider when it comes to which programming language you should learn first.
In short, it all depends on what you wish to achieve with coding and web development:
- Would you like to create web applications?
- Or perhaps develop iPhone or Android apps?
- Maybe you are interested in building games?
- How about data analysis and machine learning?
Depending on which are you wish to focus on, you need to learn the appropriate programming languages for it.
What you will learn in this article:
In this post I’ll walk you through the steps you should take when choosing your first programming language.
First, we’ll look at how you can define your goals. After that, you can proceed to finding out what you could do with programming in the future. Setting yourself a clear goal and knowing why you want to learn coding will help you keep things more structured along the way.
Without further ado, let’s get started!
Here are a couple of related articles you may find helpful, too:
- Best Websites to Learn Programming and Web Development in 2019
- Why Learn Coding? 12 Benefits from Learning Programming
- 8 Things to Know Before Learning Programming
1: Define a clear goal
First off, you will have to ask yourself what it is you wish to achieve by learning how to program.
Start by asking yourself a few questions:
- What do you find interesting with coding and web development?
- What would you like to build in the future?
- Where would you like to work?
- What sorts of problems would you like to solve with programming?
What it all boils down to is your “why”.
Why do you want to learn coding and web development in the first place?
It’s important to figure out your why as soon as you can. Here’s a related post you may find helpful: How to Start Learning Coding? 6 Tips for Beginners
My biggest mistake when I started learning coding:
My reason for learning coding was the pure fun of it. I didn’t have a big goal like starting my own business or getting a job as a developer.
And that was the biggest mistake I made. I didn’t have a clear goal I was aiming for. Therefore, I couldn’t track my progress towards it.
In other words, I didn’t have a plan.
But luckily, my passion for coding and web development kept me going nevertheless. However, things would have been much easier if I had been aware of my why from the beginning.
Figure out your “why” right now
So, take my advice: figure out what you wish to achieve with coding.
Do it right now.
It will save you countless of hours of headaches and frustration, trust me.
Nothing will motivate you better than seeing the progress you make towards a specific goal. Moreover, having some clearly defined targets will also keep you focused on what you really want to create.
And don’t be too modest with your ambitions!
As you surely know already, pretty much anything is possible with programming. You will see this once you start writing your first programs and notice what a computer can do for you.
Thus, if you plan on coding a new addition to the global social media, go for it!
2: Find a field you want to focus on
As you probably know, there are heaps of different things your can do with programming.
When you know your “why” for learning coding, you can find a specific field you feel interested in, such as:
- Making websites
- Creating video games
- Building mobile apps
- Making OS X or Windows applications
- Analysing and visualising data
- Focusing on Machine Learning and AI
- Creating 3D graphics
All these different areas have their unique requirements and focus points. They all use a different selection of programming languages, too.
Therefore, you should choose your first programming language according to what area you find the most interesting.
Ask yourself: How can I make money with coding in the future?
In which industry or field do you want to work in the future?
I’m guessing you’re interested in learning programming to start a career at some point.
In that case, you have a couple of options, like:
- Becoming a full-time developer
- Starting your own company as an entrepreneur
- Becoming a web developer freelancer
- Building your own mobile apps to sell
If you wish to learn coding to start a career, pick a specialization you find the most intriguing.
Sure, it might feel scary at this point if you’re a beginner. But the sooner you figure out what you want to do in the future, the sooner you can take the first step to get there.
If the career talk feels too scary at first, just think about what you would like to present to the world in the future?
What would you like to create that would make everyone’s lives easier or more fun?
Still unsure about what you would like to create? No worries!
Being indecisive at this stage is perfectly normal.
You might want to read this helpful article first: How to Make Money Coding? 4 Ways to Make Money as a Developer.
I needed some time to find the right direction myself, too. As long as you’re curious about programming and hungry to learn more, the rest will sort itself out sooner or later.
All that matters in the end is that you just start!
3: Narrow down your options for your first language to learn
Once you have defined yourself some targets it is time to choose an area you wish to specialise in with programming.
You need to choose a programming language that lets your translate your individual goals into concrete projects and programs.
All different areas in the world of coding and web development, such as the ones I mentioned before, have a stronger focus on either one of the following:
- Back-end development languages
- Front-end development languages
These two categories of languages take care of very different aspects of the overall project of creating and maintaining a specific program or project.
This broad division into two groups can help you decide on your first programming language.
If you’re interested in learning web development, these categories are especially important to understand.
Let’s take a closer look at both of these groups.
Front-end development languages
Front-end developers work on the client (or end-user) side of programming.
They use programming languages to create the design, look, and feel of a specific project or program.
Therefore, front-end languages are responsible for what you see right now on this page:
- General layout and element positioning
- Image formatting
- Menu and navigation design etc.
The main task of a front-end developer is to make sure the user doesn’t get lost or confused. At the same time, the user should find the website or application pleasant for the eye.
Therefore, the user interface (UI) should be intuitive, easy to use, beautifully designed, and optimised for its specific purpose.
You will need to learn three languages to become a front-end developer:
- HTML – Creates the actual content and structure, like text, images, lists, or tables.
- CSS – Styles the HTML content and creates a beautifully designed interface.
Three languages, yikes!
No worries, here’s the deal: these three front-end languages are pretty easy to learn.
Where can I learn front-end development languages?
You can learn the basics of HTML and CSS in just a couple of days. Start learning by using these hand-picked courses and resources I recommend.
Just remember to practice a lot by building projects of your own.
When you feel confident enough, you can start applying for your first freelance gigs online.
In order to make all this work properly, there has to be something to support the front-end. That’s where back-end development steps in.
Back-end development languages
Back-end developers work on the server-side of a project.
They make sure that the program or website works the way it is supposed to by linking the front-end to the actual functionalities and features.
Back-end development languages focus on three different parts of a program:
Let’s see what these fancy words mean:
Basically, the client could for example create a user profile in a web application using a web browser. The application on the browser would first send a request to the server. The server would then access the database, and the user’s information would then be saved in the database.
As for the programming languages used in back-end development, the most popular choices are:
All in all, front-end is what you see; back-end is how it works.
Just like in a restaurant: the dining room is the front-end, while the kitchen is the back-end.
Some of us find both areas so awesome that we want to do both. Combining both front-end and back-end development makes you a full stack developer. For a more thorough discussion on this topic, check out my post about back-end development vs front-end development.
4: Choose your first programming language
Once you decide between front-end and back-end development, you are pretty much good to go!
Choosing either one of them narrows down your options quite considerably, so the decision should be that much easier for you.
You can go with the programming languages I already mentioned, or check out this post with 14 different programming languages and their uses explained for more details on each language.
As always, keep looking for more information, answers, and inspiration as you learn.
Go and watch some tutorials online and find a solid online course for beginners.
And more importantly, use those tutorials to build projects of your own.
Read blogs and discussion forums and see what other techies think of a programming language you would be interested in learning.
Perhaps pay a visit to your local bookstore, too, like I did. It sometimes helps to get your hands on an actual book. That is actually how I got a kick-start into my learning process.
In case you are interested in what new career opportunities coding could bring along, there are plenty of great resources online to help you out. For instance, check out this helpful post about what types of job roles and career prospects each language can bring with it.
Here are a couple of related posts you may find helpful, too:
- How to Become a Web Developer? FAQ on Careers, Salaries, and Skills
- Learning to Code? This is What I Learned in 6 Months
Why I chose Python as my first programming language
When I first started learning programming and web development, I didn’t know what I was doing.
I had never done any coding or build a website before. So trying to find my way through this whole new world of tech was just a very confusing experience.
It was scary, daunting, and overwhelming all at the same time.
How am I supposed to know what I need to learn? There are dozens of programming languages – what’s the difference?
So, I started by doing a lot of research online. You know, what each language was good for, what people were saying about it being suitable for beginners etc.
I took a few lessons on Codecademy to get familiar with a couple of languages first.
For some reason, I found Python really interesting. The language was fun, I understood how it worked, and it was apparently one of the most popular programming languages out there.
Basically, that was it. I didn’t really think about it, I just went along with Python and started writing small programs of my own.
Since I was enjoying it so much, I thought I should get a proper book for learning more. For some reason I just prefer a book I can browse through when I’m learning something totally new.
Finding the perfect Python book for beginners
But I didn’t want just any old Python book.
At my local bookstore, 90% of all coding books are just plain boring.
They’re supposed to be beginner-friendly, but I couldn’t even understand the back cover of most of them.
Finally, I got my hands on a book called Python Crash Course from Eric Matthes.
The book was easy to read and follow, very beginner-friendly. And there were three exciting (and rather big) projects in the book to practice Python with. You know, not some technical blah-blah projects, but actual, real-world applications for Python.
So, Python was my choice simply because I found it fun. It felt interesting and I just wanted to learn more about it. That’s all.
Here are a couple of related articles you may want to read, too:
- Learning Python with Python Crash Course
- 5 Reasons Why Python Is a Great First Programming Language To Learn
- Learn Python Online: Best Python Resources for Beginners
Summing it up: How to choose your first programming language?
Don’t worry, there’s no such thing as a wrong first programming language!
Everything you learn will be of huge value to you in the future.
Just make sure you start at the very basics and understand everything before you move on.
Once you know what you will be focusing on, try to choose your first programming language rather quickly.
Don’t ponder over two similar languages for too long or you will only get more confused. Two languages aimed at solving similar problems in similar projects often have the same logic. This makes learning the next language so much easier.
Thus, should your first choice not be the best one, switching to another, similar language later on will be quite easy.
For a good overview of the most popular programming languages, make sure you read my post on 14 Different Programming Languages Explained for Beginners.
When you’re ready to start, here are a few related posts you will find helpful:
- Coding 101 for Beginners: What is Coding?
- Introduction to Programming Languages
- 10 Common Misconceptions About Coding You Should Ignore
If you enjoyed this post on choosing your first programming language, drop me a line in the comments below!
P.S. I’d appreciate if you shared this post with others so that they can discover it, too! Thanks for your support!
Alright, I’ll see you soon! Happy coding!