Why are some programming languages better for certain types of projects than other programming languages, when they can all essentially do the same thing and they all seem to work the same way?

390 views

Why are some programming languages better for certain types of projects than other programming languages, when they can all essentially do the same thing and they all seem to work the same way?

In: 20

19 Answers

Anonymous 0 Comments

they do not work the same way. different tasks are easier in different languages. Because the main reason for making a new language is to simplify a task that is hard in existing languages.

Anonymous 0 Comments

Let’s take some extremes. MATLAB is designed to do math. Scientists and engineers love it because it allows them to do some very complicated high-end math very easily. It also natively does 2D and 3D plots of the data. Contrast with SQL, which is designed for databases. It’s strengths are input and output of data, and manipulation of it. Doing math stuff on SQL, or database stuff on MATLAB, wouldn’t be very efficient.

Anonymous 0 Comments

Programming languages don’t work the same way under the hood and generally the more simple a language is to code in the slower it runs as the compiler (the things that translates code to a language the computer can understand has to work harder). This is why for very memory intensive applications it’s much better to use C/C++ over a language like python or Java

Anonymous 0 Comments

Is all about abstraction and premade tools, blocks, functions.

Yes, in the end all languages are converted to machine code, that cpu understands and executes. Theoretically you could write everything in machine code, but it would be huge waste of time. That’s why we have created different languages, which abstract theses things and gives us premade tools to work with. Just every language is made with different toolset (usecase) in mind.

There are languages that converter code from that into lower level (more generic, closer to hardware) languages code. To make complicated things more easy, but usually thus sacrificing performance and resource usage.

Anonymous 0 Comments

A programming language is the interface between us as humans and machines.

One key difference between different programming languages is how close they are to the machine (or the human respectively). Close to the machine means in general more control/options and better performance but also more possible problems and requires a more advanced understanding over all. If the language is closer to the human it becomes easier to learn but you lose performance and control over certain things. Depending on your project you may what to pick one over another based on your requirements in this area.

(Note: This is just one high level example how programming languages differentiate)

Anonymous 0 Comments

Programming languages can be specialized to do certain things, even if they all appear to potentially do the same thing.

R is a relatively simple language. Sure, you can generate *some* graphics in it, but you will not be able to really build a game. R is data analysis-focused by and large.

While I could do neural networks in R it is not ideal. It is very hard to code and extremely slow. Python comes in for it being easy to produce code for and being more of a general programming language which people tend to write predictive system packages in

A language like Delphi is great for graphics to build applications, but not so ideal for analysis you’d do in R.

On the flip side, there is MatLab which can do things like R (and sometimes more advanced) but it is 1. Locked behind a paywall 2. Not as simple of a language to learn. SPSS is great for its point-and-click interface, but its syntax backend leaves a lot to be desired. And, like MatLab, it too is locked behind a paywall.

The general consensus is that if you get really good at coding in one language, then probably stick to that language especially if it is widely used in your industry. Some languages just do certain jobs more efficiently. For example, I had to translate the command to remove outliers from Excel into R which was pretty hard…but Excel already has it built in and I needed it included in my R script for other analyses.

Anonymous 0 Comments

* The two main differences are between languages that get fully compiled before hand and those that get “interpreted” during run-time.
* What does that mean?
* A language like C++ is written at a high level and then it goes through a process to turn it into literal binary code and gets stored somewhere.
* When it’s time to run that code, it first gets loaded into system memory and then gets fed to the processor.
* A language like Python is written in a high level and then gets stored somewhere.
* When it’s time to run that code, *then* it goes through the process the ultimately turns it into binary that gets loaded into memory and then fed to the processor.
* The advantage of a language like C++ is that is operates very quickly (there are lots of other related advantages too)
* But the downside is, it has to be compiled for a specific type of computer system running a certain type of processor.
* With Python, its a lot slower because the compiling has to be done in real-time while the code is bring run.
* The benefit, though, is that you can write the code generically, and then use it on whatever computer system you want as long as that computer system has the software to interpret it properly.
* Some projects needs the speed that C++ yields, and some projects need the portability that Python yields.
* *Standard disclaimers about this just being a stripped down ELI5 example lacking a lot of details.*

Anonymous 0 Comments

Bottom line is that RUST has the best paradigms and safety and will make you the most money as a developer in the next 5 years. No point in learning any other language!

Anonymous 0 Comments

another good example is in the ease ( and therefore speed and cost ) of developing solutions to certain problems. Low code languages simplify solutions that fit neatly into their problem space, such as flow control in Microsoft’s power platform, but awful when it comes to working outside, such as GIS calculations. Modern microservice applications allow you to use the best language for each function

Anonymous 0 Comments

Truthfully, they are nominally different. You are right, you can write a program in basically any language. The question is ‘why should I’. If I am programming a back end API that fires every couple of minutes, I get zero benefit of writing it in C but I will have to do a lot of work. I can do a lot *less* work to write it in Python and get the exact same need filled.

And, they don’t all work the same way, many are similar but there are key differences. Python is an interpreted language, Java compiles to ‘bytecode’ that needs to be run in a VM. Others are directly compiled and run right on the operating system. Usually those aren’t really important to your average developer, but there are differences and they can be distinctions you need to respect when designing software. Java is a great example, to run it you need to have java installed on the client. Not a *huge* deal, but a deal nonetheless. A program compiled in C++ for Windows just needs…Windows. Same for Mac or Linux.

TLDR – The right tool is often the easiest to use, and all languages don’t really work the same way and you need to respect that as a software engineer.