Kioskea
Recherche

As linguagens informáticas

Fevereiro 2015

Linguagem informática.

Chama-se “linguagem informática” a uma linguagem destinada a descrever o conjunto das acções consecutivas que um computador deve executar. Uma linguagem informática é assim uma maneira prática para nós (humanos) darmos instruções a um computador.

Ao contrário, o termo “linguagem natural” representa as possibilidades de expressão partilhadas por um grupo de indivíduos (por exemplo o inglês ou o português).

As linguagens que servem para os computadores comunicarem entre eles não têm nada a ver com linguagens informáticas, fala-se neste caso de protocolos de comunicação, são duas noções totalmente diferentes. Uma linguagem informática é rigorosa :

A CADA instrução corresponde UMA acção do processador.


A linguagem utilizada pelo processador chama-se linguagem máquina. Tratam-se dos dados tal como chegam ao processador, constituídos por uma sequência de 0 e de 1 (dados binários).

A linguagem máquina não é assim compreensível para o ser humano, é por isso que foram criadas linguagens intermédias, compreensíveis pelo homem. O código escrito neste tipo de linguagem é transformado em linguagem máquina para ser explorável pelo processador.

O compilador / assembler é a primeira linguagem informática a ser utilizada. Este é muito próximo da linguagem máquina mas continua a ser compreensível para os programadores. Contudo, esta linguagem é tão parecida com a linguagem máquina que depende estreitamente do tipo de processador utilizado (cada tipo de processador pode ter a sua própria linguagem máquina). Assim, um programa desenvolvido para uma máquina não poderá ser aplicado noutro tipo de máquina. O termo “mobilidade” designa a aptidão de um programa informático tem em ser utilizado sobre máquinas de tipos diferentes. Para poder utilizar um programa informático escrito em compilador noutro tipo de máquina, poderá às vezes ser necessário reescrever todo o programa!


Uma linguagem informática tem por conseguinte várias vantagens:

  • é mais facilmente compreensível que a linguagem máquina;
  • permite maior mobilidade, quer dizer, mais facilidade de adaptação a máquinas de tipos diferentes;

Linguagens imperativas e funcionais

Distinguem-se habitualmente duas grandes famílias de linguagens de programação, de acordo com a maneira como as instruções são tratadas :

  • as linguagens imperativas;
  • as linguagens funcionais.

Linguagem imperativa

Uma linguagem imperativa organiza o programa sob a forma de uma série de instruções, agrupadas por blocos e compreendendo saltos condicionais que permitem retornar a um bloco de instruções se a condição for realizada. Tratam-se, historicamente, das primeiras linguagens, mesmo se numerosas linguagens modernas utilizam ainda este princípio de funcionamento.

As linguagens imperativas estruturadas sofrem no entanto de uma falta de flexibilidade dado o carácter sequencial das instruções.

Linguagem funcional

Uma linguagem funcional (às vezes chamada linguagem processual) é uma linguagem na qual o programa é construído por funções, devolvendo um novo estado à saída e tomando como entrada a saída de outras funções. Quando a função se chama a si própria, fala-se então de recursividade.

Interpretação e compilação

As linguagens informáticas podem, grosso modo, classificar-se em duas categorias:
  • as linguagens interpretadas
  • as linguagens compiladas.

Linguagem interpretada


Uma linguagem informática é por definição diferente da linguagem máquina. É necessário, por isso, traduzi-la para a tornar compreensível do ponto de vista do processador. Um programa escrito numa linguagem interpretada tem necessidade de um programa auxiliar (o intérprete) para traduzir progressivamente as instruções do programa.

Linguagem compilada

Um programa escrito numa linguagem dita “compilada” vai ser traduzido de uma vez por todas por um programa anexo, chamado compilador, para gerar um novo ficheiro que será autónomo, o que quer dizer que já não terá necessidade de outro programa para se executar; diz-se, de resto, que este ficheiro é executável.


Um programa escrito numa linguagem compilada tem a vantagem de não ter a necessidade, uma vez compilado, de um programa anexo para se executar. Além disso, como a tradução é feita de uma vez por todas, é mais rápida de executar.
Contudo, é menos flexível do que um programa escrito com uma linguagem interpretada, porque a cada modificação do ficheiro fonte (ficheiro compreensível pelo homem: o que vai ser compilado) será necessário recompilar o programa de modo a que as modificações tenham efeito.

Por outro lado, um programa compilado tem a vantagem de garantir a segurança do código fonte. Com efeito, uma linguagem interpretada, directamente compreensível (legível), permite a qualquer um conhecer os segredos de fabrico de um programa e por conseguinte copiar o código ou mesmo alterá-lo. Há, por isso, o risco de incumprimento dos direitos de autor. Por outro lado, certas aplicações protegidas precisam da confidencialidade do código para evitar a pirataria (transacção bancária, pagamento em linha, comunicações protegidas,…).

Linguagens intermédias

Certas linguagens pertencem, em certa medida, às duas categorias (LISP, Java, Python.) porque o programa escrito com estas linguagens pode, em certas condições, sofrer uma fase de compilação intermédia para um ficheiro escrito numa linguagem que não é compreensível (por conseguinte, diferente do ficheiro fonte) e não executável (necessidade de um intérprete). Os applets Java, pequenos programas inseridos às vezes nas páginas Web, são ficheiros que são compilados mas que se podem executar apenas a partir de um navegador Internet (são ficheiros cuja extensão é .class).

Alguns exemplos de linguagens utilizadas correntemente

Eis uma lista não exaustiva de linguagens informáticas existentes :

LinguagemDomínio de aplicação principalCompilada/interpretada
ADAO tempo realLinguagem compilada
BASICProgramação básica com objectivos educativosLinguagem interpretada
CProgramação sistemaLinguagem compilada
C++Programação sistema objectoLinguagem compilada
Cobol GestãoLinguagem compilada
FortranCálculo Linguagem compilada
JavaProgramação orientada Internet Linguagem intermédia
MATLABCálculo matemáticoLinguagem interpretada
MathematicaCálculo matemáticoLinguagem interpretada
LISPInteligência artificialLinguagem intermédia
Pascal EnsinoLinguagem compilada
PHPDesenvolvimento de sites web dinâmicosLinguagem interpretada
PrologInteligência artificialLinguagem interpretada
PerlTratamento de cadeias de caracteresLinguagem interpretada
Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
As-linguagens-informaticas.pdf

A ver igualmente


Programming languages
Programming languages
Lenguajes de programación
Lenguajes de programación
Programmiersprachen
Programmiersprachen
Les langages informatiques
Les langages informatiques
I linguaggi di programmazione
I linguaggi di programmazione
Este documento, intitulado « As linguagens informáticas »a partir de Kioskea (pt.kioskea.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.