Você está na página 1de 4

MÓDULO III – UNIDADE II – TEMA I

Linguagens de Programação

Uma linguagem de programação é um método padronizado para expressar instruções


para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um
programa de computador. Uma linguagem permite que um programador especifique precisamente
sobre quais dados um computador vai atuar, como estes dados serão armazenados ou
transmitidos e quais ações devem ser tomadas sob várias circunstâncias.

O conjunto de palavras, compostos de acordo com essas regras, constituem o código fonte
de um software. Esse código fonte é depois traduzido para código de máquina, que é executado
pelo processador.

Uma das principais metas das linguagens de programação é permitir que programadores
tenham uma maior produtividade, permitindo expressar suas intenções mais facilmente do que
quando comparado com a linguagem que um computador entende nativamente (código de
máquina). Assim, linguagens de programação são projetadas para adotar uma sintaxe de nível
mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de
programação são ferramentas importantes para que programadores e engenheiros de software
possam escrever programas mais organizados e com maior rapidez.

Linguagens de programação também tornam os programas menos dependentes de


computadores ou ambientes computacionais específicos (propriedade chamada de portabilidade).
Isto acontece porque programas escritos em linguagens de programação são traduzidos para o
código de máquina do computador no qual será executado em vez de ser diretamente executado.
Uma meta ambiciosa do Fortran, uma das primeiras linguagens de programação, era esta
independência da máquina onde seria executada.

História

A primeira linguagem de programação para computadores foi provavelmente Plankalkül,


criada por Konrad Zuse na Alemanha Nazista, mas que teve pouco ou nenhum impacto no futuro
das linguagens de programação. A primeira linguagem de programação de alto nível amplamente
usada foi Fortran, criada em 1954. Em 1957 foi criada [B-0], que daria origem a Flow-Matic (1958),
antecessor imediato de COBOL, de 1959. Lisp e ALGOL foram criadas em 1958.

As linguagens de programação têm história, particularidades e modismos. No início eram


apenas zeros e uns. Com os primeiros computadores surgia a única maneira possível de entrada
de dados: as linguagens de baixo nível, ou de Primeira Geração. Nada a ver com palavrões, o
nome vem apenas por estarem mais perto do “idioma” compreendido pela máquina.

Depois surgiram as linguagens de Segunda Geração ou linguagens de montagem. Seu


representante máximo é o Assembly, que traduz os zeros e uns em comandos mnemônicos, um
pouco mais compreensíveis aos humanos. Por exemplo a instrução "MOV" servia para mover
valores na memória.

A tecnologia evoluiu rumo às linguagens de Terceira Geração, que englobam nomes


conhecidos como Basic, Pascal, e C. Seus comandos em inglês têm sintaxe semelhante à do
idioma escrito e introduzem as estruturas de controle (se.. então, para... faça). Também são
chamadas de linguagens procedurais por dividirem a estrutura do programa em pedaços,
chamados procedimentos.

Atualmente reinam as linguagem de Quarta Geração, orientadas a objetos, nova forma de


programação que têm por objetivo a reutilização de código: um programa principal enxuto chama
os objetos, pequenos trechos de código reutilizável, espécie de evolução dos procedimentos.
Alguns exemplos deste tipo incluem o Java e as linguagens do .NET (C#, ASP.NET, etc.)

Existem também linguagens de script, que não apresentam todas as estruturas de controle
presentes em uma linguagem de programação convencional e, por isso, geralmente são mais
“leves”, ou seja, mais rápidas, como o PHP.

Veja http://www.levenez.com/lang/history.html para um mapa da história das linguagens de


programação.

Interpretação e Compilação

Uma linguagem de programação pode ser convertida, ou traduzida, em código de máquina


por compilação ou interpretação, que juntas podem ser chamadas de tradução.

Se o método utilizado traduz todo o texto do programa (também chamado de código), para
só depois executar (ou rodar, como se diz no jargão da computação) o programa, então diz-se que
o programa foi compilado e que o mecanismo utilizado para a tradução é um compilador (que por
sua vez nada mais é do que um programa). A versão compilada do programa tipicamente é
armazenada, de forma que o programa pode ser executado um número indefinido de vezes sem
que seja necessária nova compilação, o que compensa o tempo gasto na compilação. Isso
acontece com linguagens como Pascal e C (linguagem de programação).

Se o texto do programa é traduzido à medida em que vai sendo executado, como em


Javascript, Python ou Perl, num processo de tradução de trechos seguidos de sua execução
imediata, então diz-se que o programa foi interpretado e que o mecanismo utilizado para a
tradução é um interpretador. Programas interpretados são geralmente mais lentos do que os
compilados, mas são também geralmente mais flexíveis, já que podem interagir com o ambiente
mais facilmente (freqüentemente linguagens interpretadas são chamadas também de script).

Embora haja essa distinção entre linguagens interpretadas e compiladas, as coisas nem
sempre são tão simples. Há linguagens compiladas para um código de máquina de uma máquina
virtual (sendo esta máquina virtual apenas mais um software, que emula a máquina virtual sendo
executado em uma máquina real), como o Java e o Parrot. E também há outras formas de
interpretar em que os códigos-fontes, ao invés de serem interpretados linha-a-linha, têm blocos
"compilados" para a memória, de acordo com as necessidades, o que aumenta a performance dos
programas quando os mesmos módulos são chamados várias vezes, técnica esta conhecida como
Just in Time.

Como exemplo, podemos citar a linguagem Java. Nela, um compilador traduz o código java
para o código intermediário (e portável) da JVM. As JVMs originais interpretavam esse código, de
acordo com o código de máquina do computador hospedeiro, porém atualmente elas compilam,
segundo a técnica Just in Time o código JVM para código hospedeiro.

A tradução é tipicamente feita em várias fases, sendo as mais comuns a Análise léxica, a
Análise sintática ou Parsing, a Geração de código e a Otimização. Em compiladores também é
comum a Geração de código intermediário.
Paradigmas

Diferentes linguagens de programação podem ser agrupadas segundo o paradigma que


seguem para abordar a sua sintaxe:

 Linguagem funcional
 Linguagem procedural
 Linguagem orientada a objetos
 Linguagem natural

Em ciência da computação, linguagem funcional é qualquer linguagem de programação


baseada no paradigma de programação funcional. O Caml é um exemplo de linguagem
funcional.

Programação estruturada é uma forma de programação de computadores que preconiza


que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência,
decisão e iteração.

Tendo, na prática, sido transformada na Programação modular, a Programação


estruturada orienta os programadores para a criação de estruturas simples em seus programas,
usando as subrotinas e as funções. Foi a forma dominante na criação de software entre a
programação linear e a programação orientada por objetos.

Apesar de ter sido sucedida pela programação orientada por objetos, pode-se dizer que
a programação estruturada ainda é marcantemente influente, uma vez que grande parte das
pessoas ainda aprendem programação se fazem através dela.

A Orientação a Objeto é um paradigma de análise, projeto e programação de sistemas de


software baseado na composição e interação entre diversas unidades de software chamadas
objetos.

Na programação orientada a objetos, implementa-se um conjunto de classes que definem


os objetos presentes no sistema de software. Cada classe determina o comportamento (definidos
nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com
outros objetos.

Smalltalk, Perl, Python, Ruby, Php, C++, Java e C# são as linguagens de programação mais
importantes com suporte a orientação a objetos.

O termo língua natural é usado para distinguir as línguas faladas por seres humanos e
usadas como instrumento de comunicação das linguagens formais construídas, entre as quais se
contam as linguagens de programação de computadores e as linguagens usadas pela lógica formal
ou lógica matemática. Na filosofia da linguagem de tradição anglo-saxônica, o termo língua
ordinária é por vezes usado como sinônimo da língua natural. As línguas naturais são modeladas
pela lingüística e pela inteligência artificial, entre outra disciplinas.

As línguas gestuais são também línguas naturais, visto possuírem as mesmas


propriedades características: gramática e sintaxe com dependências não locais, infinidade discreta
e generatividade/criatividade. As línguas gestuais americana, francesa e britânica são as mais bem
documentadas na literatura científica.
As línguas artificiais que, como o esperanto, evoluíram a ponto de terem falantes nativos
também podem ser consideradas línguas naturais, estima-se entre 200 e 2000 o número de
falantes nativos de esperanto; o número de pessoas fluentes na língua é muito maior.

Usa-se muitas vezes indiscriminadamente o conceito de "linguagem", para denotar quer as


"línguas" particulares, quer a faculdade geral da "linguagem". Isto resulta de tradução literal do
inglês,

Na linguagem de alto nível, o entendimento fica mais fácil, pois um comando em uma
linguagem de alto nível corresponde a vários comandos em uma linguagem de baixo nível, porém
o programador fica limitado, já que se algum passo contido em um comando de alto nível não pode
ser alterado. Mas na prática a linguagem de alto nível simplifica a vida do programador já que
vários detalhes da programação são desconsideráveis nesta linguagem.

Você também pode gostar