Why is there more than one programming language?

A Universal Goal

All programming languages share the same mission — to translate human ideas into something that a computer can read and interpret. In this way and at the most simple level, all programming languages are the same. How we use them, on the other hand, is very different.

Just because you can doesn’t mean you should…

Sure, you can write a website in Ruby, Java, Python, C#, JavaScript, etc., but that doesn’t necessarily mean you should pick a language and stick with it for all your website building needs. Each language is simply a tool to help you accomplish a specific job. Sure you could use a saw to cut a board in half and then turn it around and use the handle to smack nails into said board, but it would be much easier, and probably less bloody, to use a saw for the sawing and a hammer for the hammering.

Similarly, Ruby and JavaScript are great for building web sites, Java and C++ are often used for financial trading, and Python and R are better suited for analyzing statistics. Each language often makes trade-offs in terms of convenience, safety, and speed, and the trade-off is dictated by the job at hand.

So if Ruby and Javascript are both good for building a website which one should I use?

It’s not always that simple. Some of which language you use comes down to the job at hand, yes, but you also have to take into account your own personal preference. It’s a good idea to learn more than just one language to see which one you like using. There are plenty of times when you will need more than one language at a time even. Additionally, the decision isn’t always up to you.

The people around you, often your employer, will likely dictate the language that you use on a project, and it doesn’t always matter which language you are more comfortable with. Aside from just being told what to use by your boss, its easier to learn about and work with a language when you’re around other people who are learning about or already know about that language.

Strength in Numbers

In summary, there’s a variety of programming languages because there’s a variety of jobs to be done and a variety of people who do those jobs. This diversity is what allows us to have such unique projects being built buy such interesting companies, which provide such exciting career opportunities. There is no right answer to the question “Which language should I learn first?” but there is also no wrong answer.