Which Programming Language Should I Learn First?

CodingFlashlight
Nerd For Tech
Published in
6 min readMay 28, 2021

“Which programming language should I learn first” is the first question every developer once asked him- or herself. This isn’t an easy question to answer because it really depends, why you want to learn programming in the first place. In addition, there is no wrong way to learn the basics of programming, though I can prevent you from making some extra miles with the right choice.

Photo by chenspec on Pixabay

It Depends

Every programming language tries to solve a problem. Due to that, there exist programming languages that are better for mobile development, while others are better for information security or machine learning. I will explain which programming language is the best choice for each use case you might be interested in.

I Just Want to Start to Code

If this is your purpose, then the answer is indeed easy: check out . It is a beginner-friendly, easy-to-install, powerful, and versatile language and a perfect choice to learn the basics. There is almost nothing you won’t be able to do with Python, and in comparison with a lot of other languages, Python is really a joy and fun to work with. If you want to learn more about Python, follow this link: Why And When Should I Learn Python?

I Want to Make Websites (Web Development)

The weapon of your choice is JavaScript. Sorry, but to be honest — there is no alternative: JavaScript is the lingua-franca of the web. This won’t change anytime soon, so invest your time to learn the basics of JavaScript first. Then you can move on to learn a JavaScript framework like , , or .

Wait, but what kind of website do you want to make? Do you want to work for a company, decide about every pixel on the site? If this is the case, learn JavaScript. You will need it.

Or do you want to make a website for your company’s online presence, a blog, or sell some stuff online? If this is the case, I will save you a lot of time (and money) now: you don’t need to program a single line of code to make a blog or a small company website. For that purpose, you can use . While making my blog, I didn’t write a single line of JavaScript. I used predefined themes that are limited, do not give me the freedom to decide about every aspect of my website, but on the other hand, it was easy-to-use and straightforward. In most cases, you don’t need more. WordPress, or similar competitors like or even, is all you need.

I Want to Make Mobile Apps for Android or iOS (Mobile Development)

Short Answer: JavaScript.

Long Answer: At the beginning of mobile app development, both Google (Android) and Apple (iOS) used different programming languages to build their mobile applications. Due to that, the development of an app has been time-consuming and fragmented. You had to develop one app with Java for Android and another app with Objective-C (or later with Swift) for iOS. No one liked that situation, so cross-platform development became a thing: write once and use it on both platforms (iOS and Android). Problem solved, and the most essential cross-platform development frameworks are using JavaScript, like React Native, , Apache Cordova, or Appcelerator. There are exceptions like (C#, by Microsoft) or (Dart, by Google), but to be honest, you get out more for your time as a beginner with JavaScript.

You can still decide to go with Android or iOS app development only. If this is the case, I would recommend going with for Android or for iOS.

I Am Interested in Data Science or Machine Learning (Sexiest Job of the 21st Century)

There are not many choices you have in these fields. is an excellent choice for data science, machine learning, deep learning, and artificial intelligence. is great for statistical computing, data science, graphics, and machine learning. It really depends on what you find more compelling. Either choice is good.

I Want to Be a Hacker (Information Security)

Kids want to be Astronauts, Pilots, or, well, Hackers. It seems incredible to be a hacker, but the reality is often quite different than it is shown in movies (only exception: Mr. Robot). Anyway, you should know Bash Script and if you want to be the good hacker guy/girl (White Hat) or the bad hacker guy/girl (Black Hat). But be warned: hacking is not all about programming, but more about knowledge regarding networks, exploits, systems, and this takes time to learn. Learn the basics first.

I Want to Know Everything

If you are interested in how computers really work, C is the right choice for you. C is old but still in use decades later and nowhere near its end. Operating systems, IoT hardware, and game engines are written in C (sometimes ) and are still maintained. John Carmack of Id Software wrote the legendary Doom and Quake game engines in C. Linux is written in C. With C, you get control over the system you hardly get with any other programming language. In addition, C is easy to learn and lays the foundation for many other programming languages. Have fun with pointers — you will either love or hate them.

I Want to Develop Server Applications

You hate frontend development but love backend development? You want to develop enterprise applications for huge companies and corporations? May you even be interested in becoming a software architect? If this is the case, then or is the right choice for you. Both are excellent choices for object-oriented programming of server applications in the enterprise world. They are not as sexy and fun to work with as other programming languages (in my humble opinion), but they get the job done.

Pro Tip: Check the Job Market

If you are still unsure how to decide, it might help to check the job market in your area. Each city and region has different companies and thus different needs concerning software developers. In my region, I have many job vacancies for Java, but almost none for C. Some cities are known for their gaming scene, some don’t have any. It would be a pity to learn a programming language, only to realize later that you have to move somewhere else to make a living.

What About X and Y?

I know the list can never be complete, but the question has been: “Which programming language should I learn first?” Nevertheless, you might read about and — the next shiny stars. So why learn C if you can learn Rust? Why learn Java or C# if you can learn Go?

Both Rust and Go are (in my opinion) programming languages for advanced programmers. Go is excellent for developing reliable, secure, scalable, and distributed systems. You already have to be a senior developer to do that, sorry. Rust is partially re-writing the kernel of some Linux distributions — the same as with Go: you won’t do that as a junior developer.

In my opinion, those aren’t good first-programming languages to learn, though you definitely can learn a lot from them if you give them a try. Every programming language has a particular way of looking at problems and solving them. There is no language that will not teach you a new way of thinking and help you get better with problem-solving.

Thanks for reading!

Originally published at https://codingflashlight.com on May 28, 2021.

--

--

CodingFlashlight
Nerd For Tech

Sharing insights on how to start coding and become a developer: www.codingflashlight.com | Twitter: @coding_flshlght