Leigos de Plantão

bem...
pra quem não entende do assunto Paradigmas de Programação
aqui vai um conceito simples, adaptado do texto de Artur Miguel Dias:


Paradigma de programação

Um paradigma de programação consiste numa conceptualização da computação.

Computação = processamento mecânico de informação

Cada paradigma de programação é caracterizado por um conjunto particular de conceitos de base.

Exemplos de paradigmas de programação e respectivos conceitos de base

  • Paradigma imperativo
    • Conceitos: estado, atribuição, sequenciação
    • Linguagens: Basic, Pascal, C, Assembler.
  • Paradigma funcional
    • Conceitos: função, aplicação, avaliação
    • Linguagens: Lisp, ML, OCaml, Haskell.
  • Paradigma lógico
    • Conceitos: relação, dedução
    • Linguagens: Prolog.
  • Paradigma orientado pelos objetos
    • Conceitos: objeto, mensagem
    • Linguagens: C++, Java, Eiffel.
  • Paradigma concorrente
    • Conceitos: processo, comunicação (síncrona ou assíncrona)
    • Linguagens: Occam, Ada, Java.

Aspectos práticos

  • Cada paradigma de programação determina uma forma particular de abordar os problemas e de formular as respectivas soluções. De fato, diferentes paradigmas de programação representam muitas vezes visões irreconciliáveis do processo de resolução de problemas.
  • O grau de sucesso dum programador depende em parte da coleção de paradigmas que domina e da sua arte em escolher o modelo conceptual (paradigma) mais indicado para analisar e resolver cada problema.

Uma linguagem de programação pode combinar mais do que um paradigma

  • C++ --- Paradigma imperativo + paradigma orientado pelos objetos.
  • Java --- Paradigma imperativo + paradigma orientado pelos objetos + paradigma concorrente.
  • Ocaml --- Paradigma funcional + paradigma orientado pelos objetos.
  • Ada --- Paradigma imperativo + paradigma concorrente.

Nota: Alguns autores separam o conceito de paradigma de computação (referindo-se ao modelo básico de computação) do conceito de paradigma de programação (referindo-se às construções e metodologias concretas colocadas à disposição do programador). Para simplificar, a nossa ideia de paradigma de programação incorpora as duas facetas.

0 comentários: