Paradigmas de Programação

6 de outubro de 2009 Comente! Follow me!
Programação

Introdução

Um paradigma se define na forma como o programador lida com um determinado problema.

Muitos pensam que as linguagens de programação surgiram em uma escala linear, ou seja, que na primeira geração delas o homem se adaptava às máquinas e, depois de várias outras gerações, as linguagens evoluiram umas das outras e capacitaram as máquinas a fazer as necessidades humanas. Na verdade, as linguagens surgiram em diferentes trajetórias, cada uma seguindo um determinado paradigma. Além disso, não é verdadeira a proposição que diz que uma linguagem qualquer é, sem exceção, a evolução da linguagem anterior (historicamente).

As linguagens existentes hoje foram se adaptando a uma única forma de programação[bb] e às linguagens inseridas no mesmo paradigma. Dentre esses paradigmas, vou conceituar quatro, que são considerados os principais: paradigma imperativo, declarativo, funcional e orientado a objetos.

1. Paradigma imperativo

“Primeiro faça isso e depois faça aquilo.”

A frase acima resume o paradigma imperativo, também conhecido como paradigma procedural. O problema é analisado até que se encontre uma solução. Basicamente, é uma sequência de comandos que o computador executará, passo-a-passo, modificando dados e variáveis a fim de chegar ao resultado esperado. Algol, Basic, C e Pascal são algumas das linguagens de programação que seguem esse paradigma.

2. Paradigma declarativo

“Qual é o problema?”

O paradigma declarativo caracteriza-se pelo método preciso de descrever um problema, sem se preocupar com qual algoritmo será utilizado para resolvê-lo. A idéia é criar um algoritmo “universal”, capaz de solucionar qualquer problema. O problema se adapta a esse algoritmo[bb], e não o contrário. É baseado em axiomas (verdades universais) e regras de inferência. Prolog é uma linguagem lógica que ilustra essa definição.

3. Paradigma funcional

Subdividir o problema em outras funções e resolver cada uma separadamente, pois os resultados encontrados serão utilizados posteriormente.

Sobre o paradigma funcional, é fácil ilustrar através de um fluxograma. Cada bloco recebe no topo uma entrada de dados e retorna, na base, os dados de saída. A solução geral é dividida em várias funções (daí o nome funcional) que, no final, se associam para mostrar o resultado na tela.

fluxograma_paradigma_funcional
Exemplo simples de paradigma funcional

No (clássico) fluxograma acima, o problema – fazer a média das notas de N alunos -, é dividido em duas etapas: a soma das N notas e a atribuição da quantidade N de alunos à variável contador. Ambos os resultados, soma das notas e contagem dos alunos, são utilizados na operação final, que é dividir a soma das notas pelo número de alunos. É um exemplo muito simples, mas que, penso eu, foi útil para exemplificar o conceito.

4. Paradigma orientado a objetos

Um conjunto de classes faz a interação entre objetos (instâncias) e, com a troca de mensagens entre eles, forma-se o software como um todo.

Praticamente tudo é objeto, cada qual com estrutura e comportamento próprios. Esses objetos são classificados em classes e comunicam entre si. Cada uma dessas representa um determinado fenômeno e seus objetos são organizados hierarquicamente. O conjunto de classes faz a interação entre objetos e a troca de mensagens entre eles forma o software como um todo.

Esse paradigma vem ganhando cada vez mais popularidade. Isso se dá devido ao grande número de vantagens em trabalhar com orientação a objeto, como a flexibilidade do código quando se trabalha em sistemas de grande porte e com uma maior equipe de programadores.

Referência

BROOKSHEAR, J. Glenn. Ciência da Computação: uma visão abrangente . 5. ed

Compartilhe:

  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • PDF
  • Twitter
  • Add to favorites
  • RSS


Comentários

  1. JÂNIO MARQUES 9 de junho de 2010

    Sou estudante do curso de análise e desenvolvimento de Sistemas do Sistema de Ensino a distância, moro em Belém do Pará, gostei muito da forma simples, clara e objetiva que você abordou e explicou o assunto.
    Espero no futuro poder contar com explicações, definições e conceitos sobre outros assuntos relativos a Linguagem de Programação de Computadores.

    Muito Obrigado e fique com Deus.

    JÂNIO MARQUES
    BELÉM-PA

Deixe um comentário:

* Campo de preenchimento obrigatório.

XHTML: Você pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Para mostrar uma foto nos comentários, use o Gravatar.