What makes different programming languages “better” than others? Or more powerful? Why have different languages developed over time? Are they all based on the same thing?

1.21K views

What makes different programming languages “better” than others? Or more powerful? Why have different languages developed over time? Are they all based on the same thing?

In: 187

78 Answers

Anonymous 0 Comments

What makes a language better or worse:

A low level language takes a long time to write programs in, but they provide more low level control that might be useful to the programmer. These languages also tend to be less resource intensive. A high level language does a lot more computing with each line of code. These languages are good for fast development speed but they will often run far far far slower than a low level languages. In many cases this isn’t an issue because computers are unbelievably fast now. Picking a best language for a particular application requires you to determine what that language is capable of and weighing that against the needs of your project.

Summary: no language is the best per se, lots of different ones exist because they can all do different things well.

Why different ones have been developed:

Different languages have developed over time as computers have evolved and grown vastly more powerful very quickly and people have used the programming languages available at the time and decided that they wanted to make their own version with better features that the current language was missing. This is how you went from Fortran > Algol > C > C++ > Java. Each of those languages took something that was learned from the language before it, and built upon it. If you look at a family tree of programming languages it gets kinda complicated.

Are they all based on the same thing:
If you’re asking if everything gets turned to 1’s and 0’s at some point, then yes. If you’re referring to the actual program text or syntax, they’re not all related. Some of them are, you’ll hear the phrase “C syntax language” to describe languages which are syntactically similar (the words and structure in the program are the same or similar) to C like C++, java, and C#. These languages are all based on C which is based on Algol which is based on Fortran and each of those languages have multiple spin offs.

Some languages are kinda off on their own, for example: SQL is for asking databases for data, you can’t write a web page with exclusively SQL and it isn’t based on another language as far as I’m aware. HTML is only a basic markup language and it can’t do any actual big boy programming language stuff like do math or run for loops. Those are two examples of languages that are absolutely nothing like a C based language. Just to demonstrate that some are based on the same thing and some aren’t.

I did my best to explain everything in the most understandable terms that I could without leaving out too much information. I doubt that anything will see this but I had fun typing it out!

Anonymous 0 Comments

What makes a language better or worse:

A low level language takes a long time to write programs in, but they provide more low level control that might be useful to the programmer. These languages also tend to be less resource intensive. A high level language does a lot more computing with each line of code. These languages are good for fast development speed but they will often run far far far slower than a low level languages. In many cases this isn’t an issue because computers are unbelievably fast now. Picking a best language for a particular application requires you to determine what that language is capable of and weighing that against the needs of your project.

Summary: no language is the best per se, lots of different ones exist because they can all do different things well.

Why different ones have been developed:

Different languages have developed over time as computers have evolved and grown vastly more powerful very quickly and people have used the programming languages available at the time and decided that they wanted to make their own version with better features that the current language was missing. This is how you went from Fortran > Algol > C > C++ > Java. Each of those languages took something that was learned from the language before it, and built upon it. If you look at a family tree of programming languages it gets kinda complicated.

Are they all based on the same thing:
If you’re asking if everything gets turned to 1’s and 0’s at some point, then yes. If you’re referring to the actual program text or syntax, they’re not all related. Some of them are, you’ll hear the phrase “C syntax language” to describe languages which are syntactically similar (the words and structure in the program are the same or similar) to C like C++, java, and C#. These languages are all based on C which is based on Algol which is based on Fortran and each of those languages have multiple spin offs.

Some languages are kinda off on their own, for example: SQL is for asking databases for data, you can’t write a web page with exclusively SQL and it isn’t based on another language as far as I’m aware. HTML is only a basic markup language and it can’t do any actual big boy programming language stuff like do math or run for loops. Those are two examples of languages that are absolutely nothing like a C based language. Just to demonstrate that some are based on the same thing and some aren’t.

I did my best to explain everything in the most understandable terms that I could without leaving out too much information. I doubt that anything will see this but I had fun typing it out!

Anonymous 0 Comments

i think of programming as construction of a machine to do things. like, go do this, now go do that

programming languages instruct computers to do stuff, but different languages provide different tools designed for different purposes. just like plumbers and carpenters and mechanics and tailors are all constructing or working with different stuff so use different tools

that said, there are instructions that they all use. for example, it’s common to turn stuff, like a screw, but sometimes it’s a screwdriver, sometimes it’s a wrench. or they all cut stuff but a carpenter program will be written for saws and a tailor program for scissors. you might be able to make a carpenter program cut cloth for a suit but it ain’t gonna be easy

Anonymous 0 Comments

i think of programming as construction of a machine to do things. like, go do this, now go do that

programming languages instruct computers to do stuff, but different languages provide different tools designed for different purposes. just like plumbers and carpenters and mechanics and tailors are all constructing or working with different stuff so use different tools

that said, there are instructions that they all use. for example, it’s common to turn stuff, like a screw, but sometimes it’s a screwdriver, sometimes it’s a wrench. or they all cut stuff but a carpenter program will be written for saws and a tailor program for scissors. you might be able to make a carpenter program cut cloth for a suit but it ain’t gonna be easy

Anonymous 0 Comments

There are only two kinds of languages

1. Lisps
2. Languages pretending their failure to become a Lisp in Allah’s image was intentional

Anonymous 0 Comments

There are only two kinds of languages

1. Lisps
2. Languages pretending their failure to become a Lisp in Allah’s image was intentional

Anonymous 0 Comments

“Programming” covers a whole lot of things, from super-low level things like “put these bytes in these locations to make the network card do things” all the way up to “draw a button on screen”.

If you’re writing a webpage, you want a language that automates all the “move bytes from here to there” stuff so you can focus on more important stuff like the page layout. If you’re writing drivers for a network card, you _really_ need to worry about all that fiddly stuff, and any automation would get in the way if you actually understanding what’s going on.

That whole automation/abstraction vs control tradeoff is at the core of why you have so many languages, with different languages having different opinions on what stuff needs to be exposed to the programmer and what should be abstracted away.

Anonymous 0 Comments

“Programming” covers a whole lot of things, from super-low level things like “put these bytes in these locations to make the network card do things” all the way up to “draw a button on screen”.

If you’re writing a webpage, you want a language that automates all the “move bytes from here to there” stuff so you can focus on more important stuff like the page layout. If you’re writing drivers for a network card, you _really_ need to worry about all that fiddly stuff, and any automation would get in the way if you actually understanding what’s going on.

That whole automation/abstraction vs control tradeoff is at the core of why you have so many languages, with different languages having different opinions on what stuff needs to be exposed to the programmer and what should be abstracted away.

Anonymous 0 Comments

Say you have a single family house. Of course you‘d want to live in it, but that‘s not the only thing you could do. You could also store stuff in it, or perhaps produce stuff. While you can do those things in it, it‘s not really good at that.

So instead you choose a warehouse for storing a whole bunch of stuff, and you get a factory hall for producing things.

At the end of the day a family house, a warehouse and a factory hall are all made from the same stuff and they‘re all houses, but they‘re made for totally different jobs.

Anonymous 0 Comments

Say you have a single family house. Of course you‘d want to live in it, but that‘s not the only thing you could do. You could also store stuff in it, or perhaps produce stuff. While you can do those things in it, it‘s not really good at that.

So instead you choose a warehouse for storing a whole bunch of stuff, and you get a factory hall for producing things.

At the end of the day a family house, a warehouse and a factory hall are all made from the same stuff and they‘re all houses, but they‘re made for totally different jobs.