Eli5: What is the difference between various programming languages? Dont they all do the same thing?

833 views

Eli5: What is the difference between various programming languages? Dont they all do the same thing?

In: 33

27 Answers

Anonymous 0 Comments

Well obviously one is the true language handed down by god himself as the ultimate tool for creation and the others are heretical false idols.

Any language that’s “Turing Complete” (meaning it has memory and flow control) can do anything any other Turing complete language can do, but they do it in different ways.

Some languages are more portable than others. Not all computers are the x64 architecture you’re used to on a laptop or home PC. That depends on the compiler-writers.

Some languages are made to create binaries (the programs you run) while others are interpreted or compile to byte-code, which are generally safer but slower. A lot of programming games use their own interpreted language. And these days, browsers are effectively their own compiler and they only use Javascript. So that’s a little… “special”.

Some have more libraries or frameworks to do various things. This is mostly a matter of how many people use them and write stuff to help them and others.

Some are locked down and proprietary instead of open-source, although that’s really out of fashion. That said, some big name languages are really tied to the hip with the corporation that made them, even though they’re open source: .NET and C# doesn’t play well with non-microsoft code, and I imagine Oracle has gotten it’s hooks deep into Java by now.

Some are domain-specific. They’re built with a job in mind. Like “R”. It’s dedicated to statistics. You can do anything with it, but it’s better at handling statistics. (Also, it’s VERY hard to learn how to use if you don’t know statistics, go figure). SQL can do a lot of stuff with a database, but it’s ~~not~~ *technically* turing complete and not the best thing for anything else.

Some languages are “low level” in that the compiler doesn’t do much on it’s own. If you know what you’re doing, you can make these really fast, but in general it’s a real bear to work with and get anything done. Other languages are “high level” and the compiler does more behind your back. Which is great when it works and a real pain when it does something you didn’t want it to do. The holy grail would be the sort of code-generating chatGPT interface that could make software without bugs and did exactly what you wanted it to do… but that’s still just a dream so far. The idea of a “very descriptive set of instructions about what you want the computer to do”… well… we call that “software”.

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