TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Paradigmas De Linguagens

Dissertações: Paradigmas De Linguagens. Pesquise 859.000+ trabalhos acadêmicos

Por:   •  27/1/2015  •  1.957 Palavras (8 Páginas)  •  377 Visualizações

Página 1 de 8

Paradigmas de LPs

Chamamos de paradigma um conjunto de características que servem para categorizar um grupo de linguagens. Existem diversas classificações de paradigmas de LPs, sendo a mais comum a que divide os paradigmas de LPs nos paradigmas imperativo, orientado a objetos, funcional e lógico. A classificação utilizada aqui foi adaptada da apresentada por Appleby (1991). As únicas alterações realizadas nessa classificação são a substituição do paradigma "distribuído" pelo "concorrente" e a exclusão do paradigma de "linguagens de bancos de dados". Cabe ressalvar a não rigidez dessa classificação, deixando aberta a possibilidade de LPs se enquadrarem em mais de um desses paradigmas simultaneamente. A Figura abaixo ilustra a classificação adotada nesta apostila.

Nessa classificação, os paradigmas são subdivididos em duas categorias principais: imperativo e declarativo.

Paradigma imperativo

O paradigma imperativo engloba os paradigmas fundamentados na ideia de computação como um processo que realiza mudanças de estados. Nesse sentido, um estado representa uma configuração qualquer da memória do computador. Os programas de LPs incluídas nesse paradigma especificam como uma computação é realizada por uma sequência de alterações no estado da memória do computador.

O foco dos programas no paradigma imperativo é especificar como um processamento deve ser feito no computador. Os conceitos fundamentais são de variável, valor e atribuição. Variáveis são vistas como sendo um conjunto de células de memória. Elas possuem um valor associado em um determinado instante do processamento e podem ter seu valor modificado por meio de operações de atribuição.

O paradigma imperativo é subdividido nos paradigmas estruturado, orientado a objetos e concorrente.

O paradigma estruturado

As primeiras LPs foram fortemente influenciadas pela programação em linguagem de máquina. Esse tipo de programação se caracterizava pela existência de uma sequência monolítica de comandos e pelo uso de desvios condicionais e incondicionais para determinar o fluxo de controle da execução do programa.

Logo se percebeu que esse estilo de programação estimulava a ocorrência de erros e reduzia a produtividade do programador. Para contornar essa dificuldade, surgiu a programação estruturada. Esse tipo de programação se baseia na ideia de desenvolvimento de programas por refinamentos sucessivos (top-down). A programação estruturada consegue organizar o fluxo de controle de execução dos programas desestimulando o uso de comandos de desvio incondicional e incentivando a divisão dos programas em subprogramas e em blocos aninhados de comandos. PASCAL, C, Cobol, Clipper entre outras, são linguagens que adotam o paradigma estruturado.

O paradigma orientado a objetos

Com o avanço da computação, os sistemas de software têm se tornado cada vez maiores e mais complexos. O paradigma orientado a objetos oferece conceitos que objetivam tornar mais rápido e confiável o desenvolvimento desses sistemas.

Enquanto as linguagens que adotam o paradigma estruturado enfocam as abstrações de controle de execução dos programas, as linguagens que adotam o paradigma orientado a objetos enfocam as abstrações de dados como elemento básico de programação. Classes são abstrações que definem uma estrutura de dados e um conjunto de operações que podem ser realizadas sobre elas, chamadas métodos. Objetos são instâncias de classes. Outros conceitos importantes nesse paradigma são a herança e o polimorfismo.

Por utilizarem os conceitos do paradigma estruturado na especificação dos métodos, o paradigma orientado a objetos pode ser considerado uma evolução do paradigma estruturado. SMALLTALK [GOLDBERG & ROBSON, 1989], C++, JAVA, C# .NET, entre outras, são linguagens que adotam o paradigma orientado a objetos.

O paradigma concorrente

A programação concorrente ocorre quando vários processos executam simultaneamente e concorrem por recursos. Os sistemas concorrentes têm se tornado cada vez mais usados. Eles podem utilizar uma única unidade de processamento ou várias unidades em paralelo. Nesse último caso as unidades de processamento podem estar localizadas em um mesmo computador ou distribuídas entre vários. Sistemas concorrentes também podem compartilhar dados ou dispositivos periféricos.

O paradigma concorrente engloba linguagens que oferecem facilidades para o desenvolvimento desses sistemas. ADA e JAVA são provavelmente as linguagens mais conhecidas a oferecer suporte a concorrência.

Paradigma declarativo

Em contraste com o paradigma imperativo, no qual os programas são especificações de como o computador deve realizar uma tarefa, no paradigma declarativo os programas são especificações sobre o que é essa tarefa. No paradigma declarativo, o programador não precisa se preocupar sobre como o computador é implementado, nem sobre a maneira pela qual ele é melhor utilizado para realizar uma tarefa. A preocupação do programador é descrever de forma abstrata a tarefa a ser resolvida.

Tipicamente, programas em linguagens declarativas são especificações de relações ou funções. Não existem atribuições a variáveis dos programas uma vez que as variáveis declarativas são de fato incógnitas e não representam células de memória.

Os interpretadores ou compiladores das LPs declarativas gerenciam a memória do computador, tornando transparente para o programador a necessidade de alocação e desalocação de memória.

O paradigma funcional

Linguagens funcionais operam apenas sobre funções, as quais recebem listas de valores e retornam um valor. O objetivo da programação funcional é definir uma função que retorne um valor como a resposta do problema. Um programa funcional é uma chamada de função que normalmente chama outras funções para gerar um valor de retorno. As principais operações nesse tipo de programação são a composição de funções e a chamada recursiva de funções. Outra característica importante é que as funções podem ser passadas como parâmetros a outras funções. LISP [MCCARTHY, 1960], HASKELL [JONES, 2003] e ML [MILNER et al., 1997] são exemplos de linguagens funcionais.

O paradigma lógico

Linguagens

...

Baixar como (para membros premium)  txt (13.6 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com