Your First Programming Language: Finding the Right Programming Language for You

The question people ask themselves when building an app for the first time is often: “What should my first programming language be?” The real question is what programming language is right for you.

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.

The 3W’s

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:

List of programming languages by platform

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 Languages by Difficulty

Ranking of programming languages by difficulty

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.

The Good, The Bad, and The Code

Examples

For these examples I will only be using Python, Java, JavaScript, C#, and C/C++.

  1. Python Simple Hangman Project
  2. Java Simple Calculator Project
  3. JavaScript Simple Accordion Project
  4. C# Simple Snake Game Project
  5. C/C++ Examples

Tradeoffs

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.
  • JavaScript is a highly in-demand language in web development. It is very easy to learn and understand as well as having many use-cases to build diverse applications. But it has many libraries and frameworks that can make learning difficult due to their abundance. Frameworks come with their own learning curve, so it can be overwhelming since there are so many.
  • 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?

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.

Final Thoughts

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!

With Ebb, we believe everyone can build software.
© 2024 Ebb. All rights reserved.
Made in Plasmic