Paradigmas de programação são padrões, modelos sobre os quais são construídas as linguagens de programação. Trata-se de como a linguagem funciona, das similaridades que uma linguagem apresenta em relação à outra, e da organização do código fonte.
A seguir, apresentaremos alguns exemplos de paradigmas de programação:
1. Programação procedural: O paradigma mais simples, mais técnico e, portanto, ainda o mais ensinado em universidades e cursos técnicos. Esse paradigma opera à base de rotinas, sub-rotinas, procedimentos e funções, que usam cálculos lógicos e matemáticos para compilar e executar aquilo que foi ordenado no código-fonte.
Apesar das facilidades que oferece, a programação procedural não é o paradigma mais amplo. Logo, é recomendável para um programador de nível intermediário ou avançado se aproveitar também de outros paradigmas.
Exemplos: Ada, BASIC, C, C++, FORTRAN, Pascal, Perl, PHP, Python, Visual Basic.
2. Programação imperativa: Semelhante ao modo imperativo do idioma português, esse paradigma necessita apenas de estados (as variáveis) e de ações (comandos) que modelam o estado. Por ser semelhante à linguagem verbal, foi o primeiro paradigma de programação do mundo. A grande maioria das linguagens de programação é imperativa.
3. Programação declarativa: A diferença desse para o anterior é que o programador não ordena para a máquina passo a passo, e sim apenas o que deve ser feito, sendo a missão do compilador decifrar o objetivo. Por ser um paradigma pouco técnico, não é muito usado, sendo preferível o paradigma de programação imperativa a este. O exemplo mais conhecido é a linguagem Prolog, usada em inteligência artificial.
4. Programação funcional: A linguagem funcional, assim como a procedural, opera à base de funções matemáticas, e não procedurais. Usado em linguagens mais modernas, como C++, C#, D, Perl e Python.
Exemplos: Ada, BASIC, C, C++, FORTRAN, Pascal, Perl, PHP, Python, Visual Basic.
2. Programação imperativa: Semelhante ao modo imperativo do idioma português, esse paradigma necessita apenas de estados (as variáveis) e de ações (comandos) que modelam o estado. Por ser semelhante à linguagem verbal, foi o primeiro paradigma de programação do mundo. A grande maioria das linguagens de programação é imperativa.
3. Programação declarativa: A diferença desse para o anterior é que o programador não ordena para a máquina passo a passo, e sim apenas o que deve ser feito, sendo a missão do compilador decifrar o objetivo. Por ser um paradigma pouco técnico, não é muito usado, sendo preferível o paradigma de programação imperativa a este. O exemplo mais conhecido é a linguagem Prolog, usada em inteligência artificial.
4. Programação funcional: A linguagem funcional, assim como a procedural, opera à base de funções matemáticas, e não procedurais. Usado em linguagens mais modernas, como C++, C#, D, Perl e Python.
5. Programação orientada a objetos: Este é o paradigma que mais cresce no atual mercado de trabalho, e também nas universidades e cursos técnicos. Esse paradigma substitui as rotinas e sub-rotinas por classes e objetos, que possibilitam maior interatividade do computador consigo mesmo e com o usuário.
Seus principais objetivos são ampliar o nível da programação, melhor tanto para o programador, o qual pode explorar mais, quanto para o usuário, que pode usufruir melhor dos recursos do software, e facilitar os estudos e o desenvolvimento na área da inteligência artificial (IA).
Exemplos: C++, C#, Java, Perl, Python, Smalltalk, VB.NET.
6. Programação multiparadigma: Não é a mais popular, mas apresenta recursos mistos dos outros paradigmas. Seus principais objetivos são unir e facilitar a comunicação dos programadores de todas as partes do mundo, quaisquer que sejam seus modelos, e elaborar uma framework única para desenvolvimento de programas, quaisquer que sejam.
Exemplos: Oz e Scala.y
7. Programação estrutural: Não há uma definição universalmente aceita para esse paradigma, uma vez que vários conceitos diferenciam esse dos já apresentados. Um desses conceitos é a ausência de um comando de redirecionamento do programa (GOTO, em várias linguagens procedurais), o que força o programador a ser mais criativo, tentando contornar esse problema.
Outro detalhe é que a linguagem estrutural não apresenta divergências de seus códigos-fonte em diferentes sistemas operacionais (SO's). Por exemplo, a linguagem C é a mesma, apesar de os compiladores serem diferentes e alguns trazerem mais comandos à sintaxe do que o padrão. Porém, a linguagem BASIC, popular nos anos 70 e 80, tinha diferenças entre os desktops e os micros da época.
É possível também mencionar que linguagens estruturais apresentam somente três estruturas básicas de controle: sequência, seleção e iteração (repetição de passos).
Exemplos: C (já mencionado) e Pascal.
O paradigma de programação a ser escolhido depende do objetivo, da área do programador e, sobretudo, da sua preferência. Para elaborar programas empresariais e de baixo nível, é recomendável a programação procedural. Porém, para um projeto mais amplo, como jogos, ambientes gráficos e sistemas inteligentes, é melhor recomendável a programação orientada a objetos.
Enfim, cada paradigma foi desenvolvido com determinado objetivo, e um problema de ordem mais complexa pode até mesmo necessitar de mais de um paradigma para ser resolvido claramente. Vale também ressaltar que a relação entre paradigma e linguagem não é restrita e um é independente do outro; isto é, uma mesma linguagem, como C++ e Python, pode englobar mais de um paradigma de programação.
Um vídeo sobre linguagens e paradigmas de programação de Henrique Dias:
Referências:
http://protocoloti.blogspot.com.br/2012/04/paradigmas-de-programacao.html (Página acessada às 14h14min do dia 23 de abril de 2015 - Postada às 12h42min do dia 23 de abril de 2012 por Guilherme Magalhães).
Seus principais objetivos são ampliar o nível da programação, melhor tanto para o programador, o qual pode explorar mais, quanto para o usuário, que pode usufruir melhor dos recursos do software, e facilitar os estudos e o desenvolvimento na área da inteligência artificial (IA).
Exemplos: C++, C#, Java, Perl, Python, Smalltalk, VB.NET.
6. Programação multiparadigma: Não é a mais popular, mas apresenta recursos mistos dos outros paradigmas. Seus principais objetivos são unir e facilitar a comunicação dos programadores de todas as partes do mundo, quaisquer que sejam seus modelos, e elaborar uma framework única para desenvolvimento de programas, quaisquer que sejam.
Exemplos: Oz e Scala.y
7. Programação estrutural: Não há uma definição universalmente aceita para esse paradigma, uma vez que vários conceitos diferenciam esse dos já apresentados. Um desses conceitos é a ausência de um comando de redirecionamento do programa (GOTO, em várias linguagens procedurais), o que força o programador a ser mais criativo, tentando contornar esse problema.
Outro detalhe é que a linguagem estrutural não apresenta divergências de seus códigos-fonte em diferentes sistemas operacionais (SO's). Por exemplo, a linguagem C é a mesma, apesar de os compiladores serem diferentes e alguns trazerem mais comandos à sintaxe do que o padrão. Porém, a linguagem BASIC, popular nos anos 70 e 80, tinha diferenças entre os desktops e os micros da época.
É possível também mencionar que linguagens estruturais apresentam somente três estruturas básicas de controle: sequência, seleção e iteração (repetição de passos).
Exemplos: C (já mencionado) e Pascal.
O paradigma de programação a ser escolhido depende do objetivo, da área do programador e, sobretudo, da sua preferência. Para elaborar programas empresariais e de baixo nível, é recomendável a programação procedural. Porém, para um projeto mais amplo, como jogos, ambientes gráficos e sistemas inteligentes, é melhor recomendável a programação orientada a objetos.
Enfim, cada paradigma foi desenvolvido com determinado objetivo, e um problema de ordem mais complexa pode até mesmo necessitar de mais de um paradigma para ser resolvido claramente. Vale também ressaltar que a relação entre paradigma e linguagem não é restrita e um é independente do outro; isto é, uma mesma linguagem, como C++ e Python, pode englobar mais de um paradigma de programação.
Um vídeo sobre linguagens e paradigmas de programação de Henrique Dias:
Referências:
http://protocoloti.blogspot.com.br/2012/04/paradigmas-de-programacao.html (Página acessada às 14h14min do dia 23 de abril de 2015 - Postada às 12h42min do dia 23 de abril de 2012 por Guilherme Magalhães).

Os paradigmas de programação pressupõem a forma que programador tem sobre a programação e execução de um programa. Eles diferem nos conceitos e abstrações utilizadas para representar os elementos de um programa (como objetos, funções, variáveis, restrições, entre outros) e as etapas que compõem um cálculo (atribuição, avaliação, continuações, fluxos de dados, etc.).
ResponderExcluirPortanto, é a forma de estrutura que será usada para programar e executar o software, ou seja, é um conceito que todas as linguagens têm que abordar para os diferentes tipos de paradigmas existentes.
Este comentário foi removido pelo autor.
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirO paradigma da Programação Orientada a Objeto é o que mais cresce no mercado e no meio acadêmico pois a reutilização de código neste paradigma é uma de suas principais vantagens, visto que existem representações muito claras de cada um dos elementos, e esses elementos normalmente não são interdependentes. O entendimento do sistema no âmbito geral e de cada parte particularmente fica muito mais simples.
ResponderExcluirSó lembrando: os paradigmas são importantes para que todo programador tenha uma diretriz de programação. No final, qualquer que seja essa diretriz, a escolha de qual linguagem usar dependerá do mercado, do conhecimento do programador e do propósito do programa. Cabe aos futuros programadores saber utilizar bem os conceitos e instruções. É impressionante a quantidade de linguagens existentes!
ResponderExcluir