Conceito
Linguagens procedimentais, ou procedurais, ou ainda POLs (Procedure-oriented languages) são linguagens de programação que seguem, no corpo do programa, uma sequência de instruções. Em um programa neste tipo de linguagem, o programador deve fazer uma lista de instruções com cada passo a ser executado pelo computador. Pode-se afirmar que, em linguagens procedurais, o programador possui um maior controle do código do programa, sendo capaz de estabelecer o fluxo de controle e execução de seu programa.
Compiladores
Um compilador é um tradutor que transforma o código fonte digitado pelo programador em um código que o computador (sistema operacional) possa compreender e executar, ou seja, um código binário, que é uma sequência de zeros e uns. A geração e otimização do código binário ocorre após uma análise sintática, léxica e semântica do código fonte. O processo é basicamente o seguinte:
1) O programador escreve o código fonte e executa o compilador.
2) O compilador procura por erros de linguagem na escrita do código fonte e gera um arquivo executável (binário).
3) O programador executa o código binário e o testa.
4) Os 3 passos anteriores são refeitos até que o programa esteja completo.
5) O usuário final executa o código binário gerado pelo compilador (no Windows, os conhecidos arquivos com a extensão .exe).
Linguagem de baixo nível
Uma linguagem de baixo nível é voltada à máquina(processador, microcontrolador, etc). Normalmente, envolve instruções diretas à máquina. O programador deve entender não só da linguagem em si, mas de toda estrutura e arquitetura da máquina.
- Vantagens:
- Normalmente ocupa menos memória do que uma linguagem de alto nível.
- Por ser uma linguagem mais próxima da máquina, são necessárias menos conversões dessa linguagem para a “linguagem de máquina”, resultando em um código menor.
Um exemplo de linguagem de baixo nível é a linguagem ASSEMBLY.