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.
Linguagem de alto nível
A linguagem de alto nível está muito mais próxima do programador do que do dispositivo, ou seja, é uma linguagem de mais fácil compreensão. Estas linguagens são independentes da arquitetura do dispositivo, ou seja, permitem ao programador não se preocupar com o funcionamento interno da máquina. Somente necessita de um tradutor que entenda o código fonte como as características da máquina, ou seja, um compilador.
As linguagens de alto nível mais utilizadas (C, Pascal, BASIC, FORTRAN, COBOL, Ada) são todas linguagens procedurais.