+ 1
Why do Programming Languages get progessively harder to understand the lower you go?
It's my understanding that higher level languages are easier to learn and understand because they essentially simplify certain operations yet lower level languages or rather as you get lower, their syntax becomes less simple, more complex and harder to understand, and I would like to know why that is, like what is wrong with this: Use Renderer: Open GL Controls: Up_Arrow=Move Forward Down_Arrow=Move Backward etc, etc Was that level of simplicity at the lowest level not possible, was it because those who created these low-level languages all have come from a generation of mathematicians who could give scientists a run for their money mathematically?
3 Réponses
+ 4
you have more things to handle the lower level you go. Things like memory allocation and deallocations, garbage collection, race conditions, input output routing, etc. Things that can easily distract you from your main goal.
These things are usually abstracted away or managed for you by higher level languages, so you can concentrate more on the problem you are trying to solve.
I think the developers who maintain higher level languages have a harder job, because they have to hide those complexities under the hood, trying to keep performance while also striving to keep the language as user friendly and flexible as possible.
Lower level languages just makes the assumption that you know what you're doing and can handle the consequences.
+ 1
Well, in fairness, I think all those learning Programming should start at the lowest level Languages, as hard as they are to learn, they do teach you about optimization.
I mean think about say Assembly 6502 right, very low level language, designed to run on tech with the 6502 processor which is limited in it's abilities, by learning say Assembly 6502, you learn about optimization because you need to otherwise your program is going to run like garbage, then when you say learn more languages and go up the "Programming levels" you get a few "mercy's" as you go up, but by learning the lower level languages first, you'll instinctively want to optimize your code so your program can run at it's absolute best.
I'd be a big fat liar if I said I love complexity in fact this post shows favoritism towards being as simple as possible, and the reasoning for that is, we are in the 21st Century now, gone are the days where math is really important in programming for the most part, so My belief is at this point Newer, Better Programming languages should have come out that are low level in nature but instead of having to learn and understand all the confusing Syntax you can just jot down in plain words what you want the program to do and it just does it, exactly as you want it to.
I know I sound like a contradiction, saying one should learn Assembly 6502 then proceeding to say "Oh I also believe Low Level Languages shouldn't be as complex as they are" and yes, that is firmly my belief and I intend to hold onto it for dear life because:
We are in the 21st century, not the 1st century, we aren't cavemen anymore, we are highly intelligent beings capable of doing great things, and we should have had today's tech 100 years ago(Historically, Religion CAN take SOME of the blame there, had Religions just learned to keep their noses out and let people believe what they wanted to believe and not impose their belief on others, Humanity would be a lot further forward)
0
Works cited: couple of joints