· programming language · 6 min read

What Programming Language to Learn

Programming languages everywhere, which one to learn?

Programming languages everywhere, which one to learn?

The question that everybody asks. Simply the answer is, think about what you want to build and learn whatever gets the job done.

Purpose

The best way to decide which programming language one has to start learning is by knowing what is the purpose.

  • Why do you want to learn programming?
  • What do you want to build?
  • What are you interested in?
  • What do you want to be?

By answering those questions, you will be able to narrow down the list of programming languages from hundreds to less than 10, 5 or 2 languages.

Languages based on different Fields

So by knowing what you are interested in, and what you want to build, you will be able to know what programming languages to focus on and then grow further from there.

We will go over some of fields and the programming languages related to them.

P.S. Click on each language to go to its main website (or to a learning resource if no main website is available.)

1. Web Development

If you are interested in building websites, web apps etc. You will have to even be a little bit more specific on which side of the web you want to be on. Frontend? Backend? Why not both as a Full-stack developer?

Frontend

For frontend, you will be dealing with how the website looks (UI) and behaves. To build the frontend of the web page, things to learn are:

  • HTML - Structure of the website
  • CSS - Styling the website
  • Javascript - Making web elements interactive

To make the building process easier and quicker, its recommended to learn frameworks based on CSS such as:

  • Bootstrap - CSS framework that has pre-built components/elements
  • TailwindCSS - CSS framework that speeds up designing
  • SASS - It’s more of an addition to CSS, adds variable and extra functionalities to CSS

Once you have enough experience in the above mentioned languages and tools, you can then move on to more advanced frameworks in which you’ll be able to build more complex and complete websites and web apps. Some of those are:

  • React - Probably most popular Frontend framework
  • Angular - Another Popular frontend framework
  • Vue - Frontend Framework aswell
  • Next.JS - A framework based on react where a fullstack webapp can be built
  • Astro.JS - A framework used to build static websites

Backend

Backend development deals with the information and how a website functions, Databases, APIs, etc.

FullStack

Now, if you’ve learnt enough frontend and backend, or have experience in one or the other, and you want to build a more complex, complete website/web app. Well, combine both and build a full end to end projects, from idea, designing, creating frontend, dealing with the backend, you will be a fullstack developer.

There are few more things you will need to learn:

Recommendation

After going through the above, and seeing the tech stack that a person has to learn in order to be a web developer, I want to give my recommendation (it might be wrong & not many may like it, but iiwii)

My recommendation to whoever is looking to become a web developer and can go full stack, to learn:

  • HTML
  • CSS
  • PHP
  • Laravel
  • Wordpress
  • jQuery
  • MySQL

Why you say?! WHY? WHY PHP AND jQUERY!!!!!!???

Well, just simply because:

  1. According to W3Techs, As of Oct 11, 2024, 75.5% of all websites use PHP as their server-side language.
  2. According to W3Techs, As of Oct 11, 2024, 43.6% of all the websites use WordPress, which is built upon PHP.
  3. According to W3Techs (I know), As of Oct 11, 2024, 75.8% of all the websites, use jQuery instead of JavaScript. (But learn at least some JavaScript before going to jQuery to make it easier on you.)

If for some reason, you still want to learn React or Ruby or any other web tech, then the best advice that I can give is to look at the job market, job postings, and see what is in demand, and learn that tech stack.

2. Mobile Development

We all use smartphones, use apps. It’s kind of easier to select which tech to learn here, because we just have 2 main mobile Operating Systems, iOS and Android.

iOS

If you have an apple device and want to build iOS apps, well just learn:

Android

If you have an Android device, and want to build Android apps, well you have more options:

Cross-Platform

This is the fun part, now let’s say you want to build for iOS but you dont want to learn Swift, or you want to build for Android but don’t want to learn Kotlin or Java (weird right?), or you want to build for BOTH!!!. Enter Cross-Platform frameworks - Where you just code once and in one language, and you will be able to build for multiple devices, and operating systems.

Recommendation

My recommendation for Mobile Development is just to learn:

  • Flutter

WHY again? Because,

  1. According to a Cross-Platform Mobile Frameworks Survey, As of 2023, 46% of developers use Flutter to build apps (for iOS and Android)
  2. Because I use it and I like it.

3. Data Analysis, Data Science, Machine Learning & Ai

If you’re interested in making sense of data by analysis, prediction, automation, detecting patterns etc. Then the languages you should learn are:

  • Python
  • R R is better suited for statistical analysis and data visualization, So when it comes to Machine Learning & Ai, Python is the best choice as it has more libraries built especially for these applications.

If there is intention to go deeper and get really advanced in the creation of AI and libraries (which can be used in Python as well), then you can go ahead and learn:

  • C
  • C++ As these are almost the building blocks of Python and many other languages, many Machine Learning and AI libraries are written in them.

Recommendation

My recommendation is Python, because:

  • It is easy to learn
  • Used in Data Analysis, Data Science, Machine Learning, AI by almost everyone
  • Can be used in Web Development (DJango, Flask)
  • Can be used for Automation
  • Can be used to create Mobile and Desktop apps (don’t recommend)

4. Systems Programming & Desktop Applications

If you are interested in building Operating systems, or drivers for hardware, robotics or just build desktop apps for operating systems such as Windows, Linux or MacOS. Then you should learn:

  • C
  • C++
  • C#
  • Java There are probably other languages but those are probably the general ones to know.

5. Other fields

There are many specific fields in which different programming languages are being used:

Conclusion

This post can go on & on, but the main idea is to narrow down the list of languages that you might have to learn to just few by focusing on which field you want to be in, or the things that you are interested in doing, and then just select the language and start learning and building things.

The best way to learn is to keep on programming until its a daily habit, build projects, start very simple and gradually build more complex things.

I will leave you with some learning resources which you probably came across:

Hope we can learn, enjoy and progress in life.

Back to Blog