Vous êtes sur la page 1sur 4

UEMG

Sistema da Informao 1 Perodo


Fernando Teixeira Marques

Paradigmas de Linguagens
Conceitos e Tipos de Paradigmas

ITUIUTABA-MG
2016
Conceito de Linguagem de Programao

O meio mais eficaz de comunicao entre pessoas a linguagem (lngua ou idioma),


que consiste num conjunto de convenes e regras sistemtico para comunicao de
ideias ou troca de informaes. Com uma linguagem natural, como portugus, esta
comunicao ocorre entre pessoas e a linguagem usada tanto na forma falada, como na
forma escrita. Linguagens de programao, por sua vez, diferem das linguagens naturais
de vrias maneiras. Primeiro, a comunicao ocorre entre uma pessoa e uma mquina
(computador). A segunda maior diferena o contedo da comunicao, que, no caso da
LP, conhecido como programa. Programas so sequncias de instrues que
descrevem as tarefas a serem realizadas para alcanar a soluo de um determinado
problema, e devem ser escritos numa LP para que possam ser executados num
computador. Um terceiro exemplo de caracterstica de comunicao atravs de uma LP,
o meio utilizado. Desde que o computador o futuro receptor, isto significa que os
programas so representados simbolicamente como conjuntos de caracteres, em
oposio, por exemplo, aos sons. Uma definio de trabalho para uma linguagem de
programao : Uma linguagem de programao uma linguagem com o objetivo de
ser usada por uma pessoa para expressar um processo atravs do qual um computador
pode resolver um problema [DER 90]. Em outras palavras, a LP faz a ligao entre o
pensamento humano (muitas vezes de natureza no estruturada) e a preciso requerida
para o processamento pela mquina. Os quatro componentes chave nesta definio de
linguagem de programao so:

Computador: a mquina que executar o processo descrito atravs do programa;


Pessoa: o programador que serve como a origem da comunicao;
Processo: a atividade que est sendo descrita atravs do programa;
Problema: o sistema atual ou ambiente onde o problema surgiu.

Outra definio usual : Linguagem de programao um conjunto de termos e de


regras que permitem a formulao de instrues a um computador. Desta forma, a LP
composta por dois elementos: Vocabulrio, que consiste num conjunto de smbolos, e
Gramtica, que o conjunto de regras para usar o vocabulrio.
A descrio de uma linguagem geralmente dividida em duas partes, descritas
detalhadamente na seo
1.5, que so:

Sintaxe: o conjunto de regras que determina quais construes so corretas para


formao dos programas e quais no so; em outras palavras, preocupa-se com a
forma dos programas (como expresses, comandos, declaraes, etc. so
colocados juntos para formar programas).
Semntica: a descrio da maneira que um programa sintaticamente correto
interpretado ou executado; em outras palavras, preocupa-se com o significado dos
programas (como o programa vai se comportar quando executado no computador)
[DER 90, WAT 90].
Torna-se interessante comentar que o principal objetivo de uma LP dar suporte ao
programador no desenvolvimento dos sistemas. Isto inclui assistncia no projeto,
implementao, teste, verificao e manuteno do software. Existe uma srie de
caractersticas numa linguagem que contribuem para este objetivo. Entre as
caractersticas gerais que definem uma boa linguagem pode-se destacar:

Simplicidade: clareza e conciso semntica (linguagem com um mnimo nmero de


conceitos e estruturas), e clareza sinttica (sintaxe deve representar cada conceito de
uma maneira apenas).
Suporte para abstrao de dados: representao de um objeto deve incluir somente
os atributos relevantes.
Expressividade: refere-se a facilidade com que um objeto pode ser representado; a
linguagem deve oferecer estruturas de dados e de controle apropriadas.
Ortogonalidade: refere-se a interao entre conceitos, isto , o grau com que
diferentes conceitos podem ser combinados uns com os outros de uma maneira
consistente; ortogonalidade reduz o nmero de excees das regras de uma
linguagem, tornando mais fcil o seu aprendizado e memorizao.
Suporte manuteno e portabilidade: habilidade de manter programas que devem
ser fceis de entender e alterar; afetada pelas caractersticas anteriores.
Eficincia: a avaliao precisa de uma linguagem, baseada em critrios prdefinidos, extremamente importante; as medidas mais comuns so a eficincia da
execuo do programa, da traduo do programa, e da criao, teste e uso do
programa [DER 90, PRA 75, SIL 88].

Tipos de Paradigmas

Programao Procedural: estilo de programao convencional onde os programas


so decompostos em passos de processamento que executam operaes
complexas. Rotinas so usadas como unidades de modularizao para definir tais
passos de processamento. Exemplos de linguagens com este paradigma so Pascal
e C.
Programao Funcional: estilo de programao que tem origem na teoria das
funes matemticas. Enfatiza o processamento de valores atravs do uso de
expresses e funes. As funes so os blocos de construo primrios do
programa; elas podem ser passadas livremente como parmetro e podem ser
construdas e retornadas como parmetros resultantes de outras funes. Algumas
LP que suportam este paradigma so ML, Scheme e LISP.
Programao de Tipos Abstratos de Dados: reconhece tipos abstratos de dados como
a unidade da modularidade do programa. CLU foi a primeira linguagem projetada
para suportar este paradigma.
Programao Orientada a Objetos: enfatiza a definio de classes de objetos.
Instncias de classes so criadas atravs do programa conforme a necessidade,
durante a execuo dos programas. Este estilo baseado na definio de hierarquias
de classes e selees em tempo de execuo de unidades para executar. Smalltalk,
Eiffel e Java so linguagens representativas desta classe. C++ e Ada tambm
suportam este paradigma.
Programao Declarativa: enfatiza a descrio declarativa de um problema, ao invs
da decomposio do problema em uma implementao algortmica. Tais programas
so mais prximos de uma especificao do que a implementao tradicional.
Linguagens lgicas, como PROLOG, e linguagens baseadas em regras, como OPS5
e CLIPS, so representativas desta classe de linguagens [GHE 97].

Porque estudar Paradigmas

O estudo de LP importante para qualquer programador, uma vez que este aprender a
entender e utilizar mais eficientemente as facilidades encontradas nas LP atuais.
Projetistas de LP, bem como projetistas de hardware e gerenciadores de software,
tambm beneficiam-se deste estudo. Ao entender as necessidades de implementao de
uma LP, projetistas de hardware podem aperfeioar a maneira na qual as mquinas
suportam as linguagens. J os gerenciadores podero tomar diferentes decises de
acordo com as caractersticas da LP utilizada.

Vous aimerez peut-être aussi