Uma linguagem de programação
é um vocabulário e um conjunto de regras gramaticais usadas
para escrever programas de computador. Esses programas instruem o computador
a realizar determinadas tarefas específicas. Cada linguagem possui
um conjunto único de palavras-chave (palavras que ela reconhece)
e uma sintaxe (regras) específica para organizar as instruções
(instruções mesmo) dos programas.
Não
faz parte do objetivo deste módulo esgotar o assunto, mesmo porque
isso seria objeto de um curso completo, todavia, ao término desta
você estará apto a criar programas em virtualmente qualquer
linguagem de programação, desde que se atenha às
técnicas aqui explicadas.
As linguagens de programação podem ser classificadas,
em uma escala relativa à sua semelhança com a linguagem
humana, em:
Linguagem de Máquina;
Linguagem Assembly;
Linguagem de Alto Nível e
Linguagem de Quarta Geração.
LINGUAGEM DE MÁQUINA (Machine Language)
É a linguagem de mais baixo nível de entendimento
pelo ser humano e a única, na verdade, entendida pelo processador
(CPU).
É constituída inteiramente de números, o que torna
praticamente impossível entendê-la diretamente. Cada CPU
tem seu conjunto único de linguagem de máquina, definido
pelo fabricante do chip.
Uma instrução típica em linguagem de máquina
seria algo como:
0100 1111 1010 0110 .
As instruções presentes na linguagem de máquina
são as mesmas da linguagem do nível mais acima (linguagem
assembly).
Os programas escritos nas linguagens de mais alto nível são
convertidos (compilados ou montados) para a linguagem de máquina
específica, para que possam ser executados pelo computador.
Um programa em linguagem de alto nível que foi compilado para
executar em determinada CPU precisa ser recompilado (e muitas vezes reescrito),
para que possa ser executado em outra CPU que não tenha o mesmo
conjunto de instruções.
Essa linguagem é também classificada como
linguagem de primeira geração.
LINGUAGEM ASSEMBLY
É a linguagem de nível imediatamente acima da linguagem
de máquina. Ela possui a mesma estrutura e conjunto de instruções
que a linguagem de máquina, porém permite que o programador
utilize nomes (chamados mnemônicos) e símbolos
em lugar dos números. A linguagem assembly é também
única para cada tipo de CPU, de forma que um programa
escrito em linguagem assembly para uma CPU poderá
não ser executado em outra CPU de uma família
diferente.
Nos primórdios da programação todos os programas
eram escritos nessa linguagem. Hoje, a linguagem assembly, é utilizada
quando a velocidade de execução ou o tamanho do programa
executável gerado são essenciais. Atualmente a maioria dos
programas é escrita em linguagens de alto nível, tal como
C, Pascal , Delphi, Kylix, Visual Basic, etc. devido à facilidade
de criação e manutenção dos programas.
Todos os programas escritos nessas linguagens são
convertidos para a linguagem de máquina para serem executados pelo
processador. A conversão da linguagem assembly para
a linguagem de máquina se chama montagem, e é feita por
um programa chamado montador (ou assembler). Uma típica instrução
em assembly seria :
ORG
100 LDAA # $10 END
Essa linguagem
é também classificada como linguagem de segunda
geração, e, assim como a linguagem de máquina,
é considerada uma linguagem de baixo nível.
LINGUAGEM DE ALTO NÍVEL
São as linguagens de programação que possuem uma
estrutura e palavras-chave que são mais próximas da linguagem
humana, tornando os programas mais fáceis de serem lidos e escritos.
Esta é a sua principal vantagem sobre as linguagens de nível
mais baixo. Os programas escritos nessas linguagens são convertidos
para a linguagem assembly através de um programa compilador ou
de um interpretador.
Exemplos: FORTRAN, Prolog, Basic, COBOL, C, Pascal,
Delphi, etc.
LINGUAGENS DE QUARTA GERAÇÃO
Usualmente abreviada por 4GL. São linguagens de programação
com estrutura mais próxima da linguagem humana do que as linguagens
de programação de alto nível.
A maioria delas é usada para acessar bancos de dados, a SQL
(Structured Query Language) é um bom exemplo dessa geração.
Por exemplo, um comando típico seria:
SELECT NOME,MATRICULA FROM ALUNOS WHERE
NOME = "Carlos" AND ESTADO IN (“RJ”,”SP”,”MG”)