The hardest part of starting anything is the starting part. After all, how do you know where to start from if you are new to it? Many newcomers get stuck here: they don’t know what programming language to even start with on their journey. And when that is undefined it becomes increasingly complicated to get anything done.
So, the question people ask themselves when building an app for the first time is often: “What should my first programming language be?” Well the question shouldn’t be so broad; rather it should be a question of what programming language is right for you.
There are many programming languages to learn from, many are popular, and you have heard of, some not so much. But let’s not focus on that for now. Instead, focus on the questions you want to ask yourself:
- What interests you?
- What do you want to build?
- Why do you want to learn programming?
These are the important questions in order to gauge what language best suits you, and if the one you want to learn is within your reach. Just because you’re interested in a language does not mean you will be proficient in it.
Programming Languages by Platform
Developing an application is tough. You may have heard of programming languages like Python or Java. These are very popular languages and you may know some of the things they do. For example, you most likely you know of something called machine learning. Or perhaps you have heard of C# because you want to build games.
Let’s address that first: programming languages can excel at very specific tasks, but can also come with very steep learning curves. In other words, if you’re just starting out, you are not going to become a machine learning expert in Python or how to make a game in C# that sells like hotcakes.
With that in mind, the stereotypes that you have of certain languages are not completely wrong. Let’s look at them:
Programming Languages by Difficulty
C# and Java are similar in terms of syntax (which is why you won’t see C# listed as a C language), so C# is basically the same difficulty as Java.
This diagram shows the difficulty range of each language (keep in mind that there are several languages that are similar to one another so we can count them as the same difficulty). This learning curve is hard to understand unless you see what the code looks like, even if the language is foreign to you.
The Good, The Bad, and The Code
- Python Simple Hangman Project
- Java Simple Calculator Project
- C# Simple Snake Game Project
- C/C++ Examples
These are some simple applications that you can start with in each language. This might give you an idea of what each programming language looks like, but it does not state what makes them good for certain things and bad for others.
- Python is very easy to learn, as it has simple and understandable syntax. Python is also growing in popularity, so it has great job opportunities. However, since it is an interpreted language it can be slow at times and it has some design restrictions that will only throw errors at runtime, making it require a lot more testing.
- Java is a staple, so due to its longevity it has many job opportunities. It can create programs that complete multiple tasks, without running other programs. However, it is significantly slow because of its memory management.
- C# has many uses in web development, desktop development, and game development. Thus, the language has many opportunities. However, learning can be tedious, and syntax is a big part of this language making it confusing.
- C/C++ are very portable languages. However, I wouldn’t recommend any newcomer learn them, as most find them difficult to learn and understand. Also, there is no runtime check and you will have to do a lot of the memory management.
Choosing your first programming language
Now that we have a basic understanding of what each programming language is capable of, we can go ahead and decide which is the right one for us. Keep in mind the 3W’s you answered and think of what language fits your learning abilities. If you hate being in school, then it might be best to choose a language that is not straining to learn, something simple. Or, if you think you can duke it out for months on end learning a difficult language, then by all means break a leg.
Once you’ve found the language fits both your learning abilities and your goals as a programmer, then you’ve found the right one for you. The purpose of finding the right language for you is to get you up and running, for you to create applications while you learn. Getting stuck on a concept is not something we want, so choosing a language that fits these needs is important.
Language Learning Resources
By now you should have a good idea of what language you want to learn. So here are some places where you can learn how to program for free:
While I do suggest watching tutorials, I believe it’s only best to watch at most 2 videos. Beginners can often find themselves in tutorial hell, where you only build things from tutorials and don’t know how to build things by yourself. As a programmer you will have to learn how to read documentation of your language, and how to research specific subjects. Learning the language by yourself or together with a more knowledgeable friend are the best practices and will lead to you more thoroughly understanding the language.
What should your first programming language be?