Paradigmas de linguagem de programação: algumas definições.
Autor: Brunno | Publicado: 2009-10-18T20:31:00-07:00

Um paradigma de programação fornece (e determina) a visão que o programador possui sobre a estruturação e execução do programa. Por exemplo, em programação orientada a objetos, programadores podem abstrair um programa como uma coleção de objetos que interagem entre si, enquanto em programação funcional os programadores abstraem o programa como uma sequência de funções executadas de modo empilhado. Assim como diferentes grupos em engenharia de software propõem diferentes metodologias, diferentes linguagens de programação propõem diferentes paradigmas de programação. Algumas linguagens foram desenvolvidas para suportar um paradigma específico (Smalltalk e Java suportam o paradigma de orientação a objetos enquanto Haskell e Scheme suportam o paradigma funcional), enquanto outras linguagens suportam múltiplos paradigmas (como o LISP, Perl, Python, C++ e Oz). Os paradigmas de programação são muitas vezes diferenciados pelas técnicas de programação que proíbem ou permitem. Por exemplo, a programação estruturada não permite o uso de goto. Esse é um dos motivos pelo qual novos paradigmas são considerados mais rígidos que estilos tradicionais. Apesar disso, evitar certos tipos de técnicas pode facilitar a prova de conceito de um sistema, podendo até mesmo facilitar o desenvolvimento de algoritmos. O relacionamento entre paradigmas de programação e linguagens de programação pode ser complexo pelo fato de linguagens de programação poderem suportar mais de um paradigma.Imperativo X Orientado a ObjetoParadigma Imperativo  Uma linguagem de programação que utiliza paradigma imperativo,  manipula  variáveis  a  partir  de  ordens  ou comandos.  Por  exemplo,  determinado  número  de váriáveis são  lidas na entrada, são manipuladas e colodas  em  outras  variáveis,  ditas  saídas,  manipulando  estados. Um programa imperativo realiza uma série de tarefas, uma atrás da outra, que o computador tende a executar. Alguns  exemplos  de  linguagens  que  utilizam paradigma imperativo são: Ada, Algol, C, Fortran, Pascal, entre outras. Paradigma Orientado a Objeto  É  um  paradigma  que  tem  como  principal característica  a  manipulação  de  objetos  que interagem entre si. Subclassifica o paradigma  imperativo a partir da construção  de  classes, fazendo  com  que  a  principal diferença entre ambos seja a concepção e modelagem. Nesse tipo de paradigma são construídas classes. Elas  possuem  métodos  de  construção,  que instanciam objetos.  Esse  conjunto  de  objetos  gerados  trocam mensagens  entre si, sendo   esse o modo com que se dá o funcionamento do sistema. Esse  tipo  de  paradigma  possui  alguns componentes básicos como classes, objetos e mensagens. As  características  fundamentais  que  toda linguagem orientada a objetos deve suportar é: abstração de dados (encapsulamento), tipo abstrato de dados (dados + comportamento) e herança. Algumas  linguagens  que  utilizam  paradigma orientado a objeto são: Phyton, Smalltalk, C++, Java, C#, Pascal, Ruby, entre outros. Fontes: wikipedia.org  http://www.inf.unisinos.br/~barbosa/grefe/atividades/at1/leonardo_1.pdf