As linguagens de programação

O que é linguagem informática

Chamamos de linguagem de programação (ou informática) uma linguagem destinada a descrever o conjunto das ações consecutivas que um computador deve executar. Desta forma, uma linguagem informática é uma maneira prática para nós, humanos, darmos instruções a um computador. Por outro lado, o termo 'linguagem natural' representa as possibilidades de expressão compartilhadas por um grupo de indivíduos (por exemplo, o inglês ou o português).

As linguagens que servem para que os computadores se comuniquem entre si não têm nada a ver com linguagens informáticas. Neste caso, falamos de protocolos de comunicação, que são duas noções totalmente diferentes. Em uma linguagem de programação rigorosa, cada instrução gera uma ação do processador.

A linguagem utilizada pelo processador chama-se linguagem das máquinas. Trata-se de dados tal como chegam ao processador, constituídos por uma sequência de 0 e 1 (dados binários). Assim, ela não é compreensível por um ser humano e é por isso que foram criadas linguagens intermediárias, compreensíveis por homens. O código escrito neste tipo de linguagem é transformado em linguagem das máquina para poder ser usada pelo processador.

A linguagem de montagem foi a primeira linguagem de programação a ser usada. Ela é parecida com a linguagem das máquinas, mas é mais compreensível pelos programadores. Ela é tão parecida com a linguagem das máquinas que depende do tipo de processador utilizado, já que cada um pode ter a sua própria linguagem das máquinas. Assim, um programa desenvolvido para uma máquina não poderá ser aplicado a outro tipo de máquina. O termo mobilidade designa a aptidão que um programa informático tem em ser utilizado em máquinas de tipos diferentes. Às vezes, para poder utilizar um programa informático escrito em linguagem de montagem em outro tipo de máquina, o programa deverá ser reescrito completamente.

Uma linguagem informática tem, então, várias vantagens, ou seja, ela é mais fácil de entender se comparada à linguagem das máquinas e, sobretudo, ela permite uma maior mobilidade, isto é, uma maior facilidade de adaptação nas máquinas de tipos diferentes.

Quais são os tipos de linguagem de programação

As linguagens de programação estão divididas em duas grandes famílias, dependendo da maneira como as instruções são processadas: as linguagens imperativas e as linguagens funcionais.

Como funciona a linguagem imperativa

A linguagem imperativa organiza o programa através de uma série de instruções, reunidas por blocos e compreendendo saltos condicionais que permitem retornar a um bloco de instruções se a condição for realizada. Historicamente, são as primeiras linguagens, mesmo se várias linguagens modernas ainda utilizem este princípio de funcionamento. Porém, as linguagens imperativas estruturadas sofrem da falta de flexibilidade, dado o caráter sequencial das instruções.

Como é construída a linguagem funcional

A linguagem funcional tem um nível elevado de abstração, já que elimina muitos detalhes da programação, diminuindo assim a eventualidade de erros. Por quê? Como não depende das operações de atribuição, este tipo de linguagem evita estados ou dados mutáveis. Ela se baseia na aplicação de funções e, desta forma, qualquer função pode ter ou não regras e um simples valor de retorno. As regras são os valores de entrada da função e o valor de retorno é o resultado desta função. A determinação de uma função vai dizer como ela será avaliada em relação às outras, não exigindo definições adicionais. A linguagem funcional é, pelas suas características, mais simples para tratar das provas e análises matemáticas do que a linguagem imperativa.

Como é feita a interpretação e a compilação

As linguagens de programação podem ser classificadas em duas categorias: as linguagens interpretadas e as linguagens compiladas.

O processo da linguagem interpretada

Uma linguagem de programação é, por definição, diferente da linguagem das máquinas. Por isso, é necessário traduzi-la para torná-la compreensível para o processador. Um programa escrito numa linguagem interpretada precisa de um programa auxiliar (o intérprete) para traduzir progressivamente as instruções recebidas.

A construção da linguagem compilada

Um programa escrito numa linguagem compilada vai ser traduzido completamente por um programa anexo, chamado compilador, a fim de gerar um novo arquivo autônomo, que não precisará mais de outro programa para ser executado; dizemos, então, que este arquivo é executável.

Um programa escrito em linguagem compilada não precisa, uma vez compilado, de um programa anexo para ser executado. Além disso, como a tradução é feita completamente, a execução é mais rápida. Contudo, ele é menos flexível do que um programa escrito com uma linguagem interpretada, porque a cada modificação do arquivo-fonte (aquele que vai ser compilado) será preciso recopiá-lo para que as alterações tenham efeito.

Por outro lado, um programa compilado tem a vantagem de garantir a segurança do código-fonte. Na verdade, uma linguagem interpretada e compreensível, permite a qualquer programador conhecer os segredos de construção de um programa e, desta forma, copiar ou alterar o código. Por causa disso, existe o risco de desrespeito aos direitos autorais. Certos aplicativos protegidos precisam garantir a confidencialidade do código para evitar o hacking.

A estrutura das linguagens intermediárias

Algumas linguagens podem pertencer, de certa forma, às duas categorias (LISP, Java, Python, etc.), já que o programa escrito com estas linguagens pode, em certas condições, sofrer uma fase de compilação intermediária para ser compatível com um arquivo escrito numa linguagem que não é inteligível (logo, diferente do arquivo-fonte) e, por isso, não executável, necessitando de um intérprete. Por exemplo, os applets Java, pequenos softwares executados na janela de um aplicativo para ampliar as funcionalidades dos navegadores (som, animação, etc.), encontrados nas páginas Web. Eles são arquivos compilados que só podem ser executados a partir de um navegador (arquivos com extensão Class).

As linguagens na prática

Veja, abaixo, a lista das linguagens de programação mais conhecidas:

Linguagem Domínio de aplicação principal Compilada/interpretada
ADA O tempo real Linguagem compilada
BASIC Programação básica com objetivos educativos Linguagem interpretada
C Programação do sistema Linguagem compilada
C++ Programação do sistema objeto Linguagem compilada
Cobol Gestão Linguagem compilada
Fortran Cálculo Linguagem compilada
Java Programação orientada para a Internet Linguagem intermediária
MATLAB Cálculo matemático Linguagem interpretada
Matemática Cálculo matemático Linguagem interpretada
LISP Inteligência artificial Linguagem intermediária
Pascal Ensino Linguagem compilada
PHP Desenvolvimento de sites web dinâmicos Linguagem interpretada
Prolog Inteligência artificial Linguagem interpretada
Perl Processamento de cadeias de caracteres Linguagem interpretada
Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Este documento, intitulado 'As linguagens de programação', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade