High or Low-Level Programming Language?
First of all, what’s the difference between these two? That’s about the legibility of the programming language, high-level is easier to us, humans, understand. In other hand, low-level is better to machines “understand”.
We got a point. We can say that the performance of low-level programming languages is higher than high-level, and this is true. But it can make the language a little inefficient to the programmer. Let’s talk about this.
Low-Level programming languages are more difficult to learn, and also more complicated to work. Usually, have a lot of commands that is abstract to think about, and are not self-explanatory commands. These points can make the development slow and subject for error.
In other hand, High-Level programming are easier to learn. In few time you can write simple programs. But there is a great problem: making language easier, you lose some resources that could help in some situations.
There is not an real division between these kind of languages. We can say that after assembly, the languages tend to be High-level. The 100% low-level language is the machine language. And the 100% high-level language is… well, it doesn’t exist.
Python, is an very high-level language, you program like if you were talking with you computer and is good. The typing make you follow a rule that makes the program easy to read for any programmer. But it is not the paradise, for example, Python do not have direct access to memory.
C, is a great language, because it can interact with the machine and the OS. C++ is an evolution of C, but is object oriented and can prevent some common errors that are usually done in C. So, why do not C++ disappeared with C? That is the point that will define our conversation.
C is easier to implement in a machine, and there is a lot of softwares written in C. C++ is Object Oriented Programming, and have a lot of things that you don’t need to an purpose.
Ruby is quite close to Python. But it says that is more object oriented, and is, because “everything” in Ruby is an object. It’s fantastic and is easy to create apps in Ruby. But it is inefficient, for example, to create a complex game, because it will eat all your memory.
Faster computers , and market tendency are in favor of high-levels programming languages. But a lot of new projects, usually free projects, are also starting with C.
Is good to exist a lot of programming languages, because each can serve a purpose. Is necessary to have low and high-level programming languages, and is good to you learn some of them. First of all, choose a goal, and then take a language to match.
Thanks for reading.
Fonts:
- http://en.wikipedia.org/wiki/High-level_programming_language
- http://en.wikipedia.org/wiki/Low-level_programming_language
- http://en.wikipedia.org/wiki/C_(programming_language)
- http://en.wikipedia.org/wiki/C%2B%2B
- http://pt.wikibooks.org/wiki/Introdu%C3%A7%C3%A3o_%C3%A0_programa%C3%A7%C3%A3o/Linguagens_de_programa%C3%A7%C3%A3o
- http://programmers.stackexchange.com/questions/113295/when-to-use-c-over-c-and-c-over-c
- http://www.cplusplus.com/forum/general/134/
- http://en.wikipedia.org/wiki/Ruby_(programming_language)
- http://en.wikipedia.org/wiki/Compiled_language
- http://en.wikipedia.org/wiki/Interpreted_language