There are so many programming languages out there, and more are developed every few years. We have Python, JavaScript, PHP, C++, Ruby, Java, C#, and way too many more to list here.

So you might be wondering – why are there so many programming languages, and do we even need all of them?

In this article, you will learn why developers keep creating more programming languages and how you can choose which one to learn.

The Evolution of Technology and Programming Languages

The first and perhaps the biggest reason why we have so many programming languages is that technology is always evolving. As more technologies come into being and advance, we need more tools that can make software for these technologies.

The programming languages we currently have might not be able to deal with specific problems that arise because of the nature of the languages' capabilities. The issue might be so unique that there are no existing solutions that address their needs, so people or companies decide to create a new language themselves.

Here are some notable examples of programming languages that developed from specific needs:

  1. C – Dennis Ritchie and Bell Labs created C in 1972 to overcome older languages' problems. They first used it to run the Unix operating system. Today, it can run on almost all kinds of software and hardware.
  2. C++ – Bjarne Stroustrup create C++ in 1985 for two main reasons. The first reason was to upgrade the features of the C programming language, and the second reason was to make it accessible for everyone to use in all fields.
  3. PHP – PHP was created in 1994 by Rasmus Lerdorf, and he initially used it for a personal project. Later he improved the language and released it to the public, and developers started using it heavily for web development.
  4. Go – Google created Go in 2009 because the languages they worked with at the time took were too slow and inconvenient for certain tasks. Also, Google wanted a programming language that was fast in performance but still relatively simple to read.
  5. JavaScript – Netscape created JavaScript in 1995. They initially created it for front end development so both web developers and designers could learn and create website features in a short timeframe. Now we use it for back end, front end, and mobile development.

Different Kinds of Developer Jobs Require Different Languages

Another reason we have so many programming languages is that there are different kinds of developer jobs out there that require different tools.

Think of it like a doctor and their patients. A doctor's job is to treat patients. There are different kinds of illness and injuries, and each one is complex enough to treat with different remedies. So doctors specialize in certain areas such as a cardiology, dentistry, surgery, and so on.

The same is true for programmers. As there are different kinds of software and platforms, each one requiring its own tools and features, programmers can specialize just like doctors.

Here are some developer jobs and the main programming languages they use:

  • Game developers use C++ or C# to make video games for PCs and consoles.
  • Web developers use HTML, CSS, JavaScript, and PHP to make websites and web applications.
  • Mobile app developers use Java and Kotlin to make Android applications or use Swift to make iOS applications.
  • Software developers use C++, C#, and Java to make desktop applications, business applications, and system software.
  • Data scientists use Python, R, and MatLab to analyze data for scientific research and educational purposes.

These aren't the only languages you can use to perform these tasks. These are just examples of some of the most commonly used.

Developer Have Different Needs and Goals for their Projects

The third reason there are so many programming languages is that not all of them will meet a developer or a company's goals. Different developers have their own goals and priorities, and some programming languages are better suited for certain types of tasks than others.

  • Some developers want a programming language that's super fast and performant. Welcome Go or C++. These languages enable very granular control over system resources like memory and threads.
  • Other developers want a programming language that can build the program in a few days and not weeks. Say hello to JavaScript! It's hard to find a more versatile language. You can use JS everywhere from the backend to web and mobile apps.
  • Then some developers prefer a programming language for a specific task. In 2021 a ton of data science gets delivered in Python.
  • And finally, some developers want a programming language that is fun to work with. Try Haskell or Lisp and let me know how it goes :)

How to Choose a Programming Language

Now that you understand why there are so many programming languages, there is one more question you are probably asking next:

Which programming language should I learn?

Luckily, there is a pretty straightforward answer: instead of looking at the programming languages themselves, you should think of your end goals.

What type of programming job do you want to work in? What do you want to build? What do job postings require in your area? Once you look at these factors, you can pick a programming language that helps you achieve your goal.

For example, if your goal is to make a professional website, then learn HTML, CSS, and JavaScript.

If you want to break into game development, then go for C++ and C#.

Or, if you wish to start your career in mobile applications, you should check out Swift for iOS applications and Java or Kotlin for Android applications.

Conclusion

To sum it up, the main reason why there are many programming languages out there is that different problems require different tools to solve them. Each programming language has certain features and characteristics that make it suitable for specific tasks.

Just like how doctor's jobs are divided into various specialties, and each solves complex problems and uses the right tools for their job, the same is true for programming.

I hope this article has answered your questions and given you a better idea of what programming language to choose for your career as a programmer.

If you want to learn more, you can get my free e-book to prepare for technical interviews or start Learning Full-Stack JavaScript.