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 consequê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 sequê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 sequê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.



Copyright © 2010 AIEC.