Há
algumas décadas, programar era uma tarefa árdua: significava
manusear chaves e circuitos fisicamente ou perfurar a codificação
de comandos em cartões de papel, para serem processados posteriormente.
Hoje a tarefa se tornou muito mais prática: os comandos são
passados à CPU (Central Processing Unit) por intermédio
do teclado, do mouse e de outros periféricos específicos.
Com o desenvolvimento tecnológico, a cada ano aumenta o desempenho
dos computadores e, em conseqüência, podem ser desenvolvidos
programas cada vez mais complexos.
As Linguagens do computador
O computador só entende a linguagem binária, que é
formada pelos famosos "bits" que vimos no módulo de hardware.
Hoje em dia, devido à complexidade dos programas atuais seria impossível
que um programador pudesse fazer uma aplicação escrevendo
o programa diretamente em linguagem de máquina. Para facilitar
essa tarefa foram inventadas as linguagens de programação
de alto nível. Essas linguagens de alto nível são
mais fáceis de utilizar, por exemplo, na linguagem C, que é
uma linguagem de alto nível, a instrução para somar
dois números (B e C) e atribuir o resultado à variável
X é simplesmente:
X=B+C;
Para
escrever a mesma instrução em linguagem de máquina
teríamos que escrever a seqüência de zeros e uns abaixo:
11100101
10110011
00100101 10110111
11110101 10101011
Qual
é a forma mais simples de escrever o comando? Não temos
nenhuma dúvida de que é a linguagem de alto nível.
Os programadores de software então utilizam as linguagens de alto
nível para tornar o desenvolvimento das aplicações
mais rápido e confiável. É interessante observar
que o programador, a priori, só precisa de um editor de texto para
escrever o chamado código-fonte do software,
que é o conjunto de instruções de um programa escritos
em uma linguagem de alto nível.
Entretanto se o computador só consegue executar programas em linguagem
de máquina, como podemos transformar o código-fonte (arquivo
texto) para o formato que o computador entenda?
Existem duas formas de fazer essa conversão: a interpretação
e a compilação.
Interpretação
A interpretação utiliza um programa que se chama interpretador
que se encarrega de converter o comando de linguagem de alto nível
para as instruções correspondentes em linguagem de máquina
que são executadas logo em seguida pelo computador. No exemplo
acima, quando o interpretador lesse a instrução X=B+C; ele
automaticamente substituiria pela seqüência de zeros e uns
apresentada:
11100101
10110011
00100101 10110111
11110101 10101011
Após
essa conversão o processador executaria essa instrução.
Em seguida o interpretador leria a próxima instrução
do código-fonte, converteria para a instrução correspondente
em linguagem de máquina e executaria. O processo se repetiria até
que fossem executadas todas as instruções do código-fonte.
Os programas que utilizam o mecanismo de interpretação geralmente
são mais lentos do que aqueles gerados pelo mecanismo de compilação,
que será visto adiante.
As principais linguagens de alto nível interpretadas são:
Basic, Java (formato bytecode), Javascript e Perl. A linguagem
Java é bastante utilizada em equipamentos que possuem alguma forma
comunicação, como agendas eletrônicas, celulares e
palm-top.
|