Kinds of programming languages
Programming languages has evolved for years in order to improve their performance and to ease the programming work. Nowadays, programming languages are more user friendly and easy to write.
It is true that programs are slower and bigger than years before but developers prefer these drawbacks than spending double time in programming with less powerful tools to get old fashioned software.
Let’s see the characteristics of the actual programming languages:
• Machine language.
- Their instructions are complex and non human readable. Programs are a combination of logic 1 and 0.
- There is no need to translate into any other language because this is the only one language that the computer understand.
- It was the first used language. In those times, experts had a thorough
knowledge of the hardware. If not, it is impossible to understand the instructions.
- It is different for every processor. It is impossible to run the same program in a different hardware (it will never work).
- As a general rule, nobody program directly in this language.
• Middle level language or assembler:
- Software companies developped the assembler to avoid the dificulty of programming directly into machine language.
- It’s still closer to machine language but instead of using 1 and 0, it uses mnemonics (human readable instructions) that allow to understand what the software is doing easily.
- It needs to be compiled before running it into the processor.
- It works with registers and physical addresses instead of using variables and complex structures.
- It is not easy to understand or program.
- It was used because this software was portable. An assembler program can be run in another hardware with few or no changes.
• High level languages:
- Almost all programming languages can be considered high level languages.
- Programming in these languages is quicker and easy.
- They are more closer to human language than the machine language (for example: WHILE var DO….DONE).
- They use to have libraries and default functions to resolve simple problems.
- Sometimes you can find frameworks. They help you to develop quicker and safer because the code is already proved.
- They are object oriented in order to encapsulate and reuse the software.
Depending on the way the programs are executed, we can classify the programming languages in:
• Compiled languages.
They need a compiler to translate the source code into machine code. This kind of programs are executed quicker in the processor.
They also have a program called linker whose function is to “link” the object code with the library object code in order to get the final executable program.
• Interpreted languages.
No object code is generated. The interpreter is a program loaded into memory that reads and execute the instructions of the source code one by one.
• Virtual languages.
They are more portable than any other kind of language. The programs are compiled into a bytecode. This bytecode is executed in a software called virtual machine. The virtual machine has to be installed in order to execute the bytecode.
The execution is slower than other kind of languages but they are very appreciated because the same program can be run in any hardware.