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:
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.
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 Language Uses
This is a very simple frame of what each language is capable of. Python works well in desktop and web applications, but that’s not the full picture since it can also be used for data analysis and machine learning. C/C++ languages are mainly used for system and application software. C# and Java can be used for desktop and web apps, Java is primarily used for data technologies and scientific applications. And of course, JavaScript is used mainly for mobile and web applications.
Programming Language Difficulties
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.
For these examples I will only be using Python, Java, JavaScript, C#, and C/C++.
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.
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.
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.
If you have not yet chosen a language, then the answer is obvious: either Python or JavaScript make a great choice as your first programming language. Both languages have amazing communities to help you along the way, they are easy to learn, and they have great job opportunities. In terms of what you can build, they are both great at anything you throw at them. While they do have their downsides it’s important for you to feel at ease while learning, choosing something difficult will not help you progress as a programmer. Both programming languages have vast amounts documentation on whatever it is that you want to build, both during and after your learning.
Everyone has gone through the first stages of learning a language. The point of learning the language is not to like it, but simply to learn how to code in one language without straying from that path too much. Many programmers have learned one language only to fall in love with another later in their career. I myself started with JavaScript yet love programming in C#. As a programmer you should know that you will not stick with one language forever; eventually you will move onto something else. So here is some advice: truly learn one language, it’s downfalls and its benefits, that way it is easier to understand concepts of other languages. This will help you tremendously on your journey.
Happy Coding!