Why does there need to be so many computer programming languages? Why is one not enough?

470 views

Why does there need to be so many computer programming languages? Why is one not enough?

In: 2084

12 Answers

Anonymous 0 Comments

A lot of answers are getting at the fact that programming languages do things differently, but, the truth is, basically all languages can (theoretically) do what any other language can (this is a concept known as Turing Completeness in Computer Science). A better way to see this might be to consider *trade-offs*. So, with that in mind

C and C++:

Pro:
Blazing fast, the choice for programmers if you want to write code that needs to run pronto. Think of trading systems, or databases.

Cons:
Notoriously easy to make mistakes that don’t get caught easily, that can cause devastating bugs. Also not the easiest languages to pick up or master.

Rust:

Pro:
C/C++ speeds with exceptional safety

Con:
Arguably the most tedious high-level language. Writing it can be a proper chore.

Java:

Pro:
Reasonably fast, scales very well, super easy to hire for because everyone and their mom knows Java. Also has a really good ecosystem, so you have libraries for everything.

Con:
Java has evolved over time, so a lot of things you would expect a language to have were added rather retroactively to Java, which makes it notoriously verbose and kinda clunky to work with.

Javascript (not to be confused with Java, 2 totally separate languages):

Pro:
Jack-of-all-trades. If you want to make a production grade product today and only want to learn 1 language, JS will be your choice. You can make apps for iOS and Android, a proper front-end, and a reasonable back-end, all in JS.

Con:
Not really the best at anything other than designing websites. If you want your app or backend to be fast, you probably should consider alternatives. Also, notoriously inconsistent behaviour – a lot of things that you expect should be one way are not at all how they are. An analogy might be the common posts about how the plural of goose is geese, but plural of moose is not meese – inconsistent behaviour.

Python:

Pro:
Far and away the easiest language to write. Excellent resources if you need ready-made blocks of code. The language of choice if you just want to write code for something quick and dirty.

Con:
Slow as hell.

All other languages will fall somewhere on these continuums, but I figured I’ll be getting into a rambly amount of detail if I started bringing those up.

You are viewing 1 out of 12 answers, click here to view all answers.