Paradigmas de programação: perspectivas do mundo para a elaboração de softwares



Paradigmas de programação: Perspectivas do mundo para a elaboração de softwares

Desenvolvedores e analistas em todo o mundo precisam estar preparados para os problemas que podem ocorrer no dia a dia do desenvolvimento de sistemas, sejam em qualquer nível de complexidade, conquistados de uma maneira eficaz, enfatizando a simplicidade para o desenvolvimento de sistemas por meio destes que trabalham e dedicam o seu tempo para tornar a tarefa de resolver problemas e facilitar o cotidiano de diversas empresas.

Hoje, os desenvolvedores e analistas possuem ferramentas de desenvolvimento que os auxiliem no projeto e codificação de software, possuem diversas linguagens para diversas plataformas que visam um ou mais paradigmas de desenvolvimento. Mas o que realmente                                                  torna estes especialistas tão necessários no mundo atual é sua capacidade abstrair o problema para que possam solucionar o problema totalmente, assim, quanto maior o grau de abstração do desenvolvedor e do analista, o sistema final torna-se algo muito bem distribuído e eficaz com um desempenho sem igual. E estes especialistas precisam “enxergar” o problema de alguma perspectiva, isto depende da linguagem que o desenvolvedor utiliza para desenvolver softwares. Neste artigo eu irei citar os paradigmas de desenvolvimento principais para que você leitor, possa entender as diferenças de cada um.

Inicialmente, o que significa a palavra “paradigma”? Paradigma trata-se de um padrão que deve ser seguido, um modelo que possui uma estrutura própria.

Paradigma funcional:

Neste paradigma, o problema é abstraído, isto é, o problema geral é dividido em partes menores, sendo estas mesmas serem partes divididas novamente até que a complexidade que existia em um problema como um todo, torna menos problemático e mais viável para se desenvolver. Assim, cada parte do problema que foi divido é solucionada, até que todas sejam solucionadas. Em seguida, todas as partes solucionadas são integradas, tornando-se um sistema completo.

Este paradigma tem sua aplicação principal em sistemas de cálculos matemáticos, em que cada parte de um problema é uma função, e cada função é uma formula matemática.

Na prática, a programação funcional baseia-se funções matemáticas que recebe algum (uns) dado(s) como entrada e fornecem alguma resposta como saída, e esta saída pode ser passada para outras funções matemáticas de acordo com o problema geral que foi solucionado. Mas estas funções possuem algumas diferenças quanto a outros tipos de programação, elas não realizam atribuições, e não alteram argumentos passados a elas. O conceito que entendemos de mudança de estado por meio das variáveis é que ao alterar qualquer argumento, o argumento antigo é destruído, e o argumento alterado é criado e posto no lugar do antigo, mas no caso da programação funcional não é bem assim, por exemplo, uma função matemática que altere algum valor cria um novo valor sem alterar o antigo.

Algumas linguagens de programação que utilizam do paradigma funcional são: Scheme, LISP, Prolog, etc..

Paradigma de orientação a objetos:

Este paradigma se assemelha com o paradigma procedural, mas com uma diferença, este tem como objetivo abstrair conceitos que mais se aproxima do que existe no mundo real. Assim, tornando o desenvolvimento de um sistema mais conciso.

A estrutura da orientação objeto baseia-se na modelagem de classes, sendo estas classes objetos do mundo real. As classes contêm atributos e métodos, sendo os atributos são variáveis que mudam de estado a cada vez que uma classe é instanciada, sendo esta instancia um objeto, os métodos representam o comportamento da classe e/ou do objeto, elas realizam alguma tarefa quando solicitarem.

Para explicar o que são classes, objetos, atributos e métodos, irei dar um exemplo: um projeto para construção de casas. O projeto possui características como: telhado, porta, janela, banheiro, garagem, etc.. Com este projeto é possível construir varias casas com as mesmas características do projeto. Mas cada casa é semelhante em relação com as outras, isto é, não são iguais, por exemplo, uma casa tem um telhado vermelho, a outra tem um telhado azul e assim por diante. Na orientação a objetos, o projeto para construção de casas seria uma classe, as casas construídas seriam os objetos e as características seriam atributos e métodos. O conceito baseia-se nas seguintes afirmações:

¾     Tudo no mundo real é considerado objetos;

¾     Cada objeto possui características e comportamentos próprios;

¾     Os objetos são classificados hierarquicamente em uma classe especifica;

¾     As classes representam um grupo de objetos;

¾     As classes possuem associações entre si;

¾     As associações formam interações entre objetos;

¾     As interações ocorrem por meio da troca de mensagens;

¾     Mensagens podem ser requisições de serviços ou o retorno de algum dado solicitado.

E de acordo com estas afirmações é desenvolvido um sistema todo constituídos de objetos, e o comportamento geral de um sistema se baseia na troca de mensagens.

O paradigma de orientação a objetos é o paradigma mais utilizado atualmente por ser de fácil abstração de objetos, sendo que este paradigma surgiu no campo da cognação, que rapidamente teve influencia na área de IA (Inteligência Artificial) e da linguística, no campo de abstração de conceitos do mundo real propriamente dita anteriormente.

Algumas linguagens de programação que utilizam deste paradigma são: Java, C++, C Sharp, Simula etc..

 

 

 

 

Paradigma Imperativo:

O paradigma imperativo, também chamado de paradigma procedural, porque permite o uso de procedimentos, foi o primeiro paradigma de programação existente, e tem como objetivo analisar o problema geral até que se encontre uma solução. Este paradigma trata de ver uma solução em uma sequência de ações (procedimentos), isto é, o desenvolvedor baseando-se neste paradigma, fará um sistema que executará uma sequencia de comandos, em que ocorrerá a alteração de dados e a troca de estado das variáveis a fim de alcançar um resultado esperado.

Algumas linguagens de programação que utilizam deste paradigma são: Basic, Fortran, Pascal, C, Ada, etc..

 

Paradigma declarativo:

O paradigma declarativo é inicialmente complexo para entender, pois diferentemente de outros paradigmas, como o paradigma imperativo que soluciona um problema em uma sequencia de passos, isto é, uma sequência de comandos para se chegar a uma resposta, mas diferentemente o paradigma declarativo utiliza-se de regras e fatos para definir qual é o problema a ser solucionado, e o que precisa ser feito, sendo o software responsável por procurar uma solução aceitável para o problema a ser solucionado.

Algumas linguagens de programação que utilizam deste paradigma são: Prolog, Mercury, etc..

 

Conclusão

É visto neste artigo que cada paradigma tem como objetivo resolver problemas de “panoramas” diferentes, a vários outros paradigmas menos conhecidos, mas o objetivo deste artigo é falar sobre os principais paradigmas que são utilizados atualmente, sendo que alguns costumam ser menos utilizados a cada dia, e outros fazendo mais parte do cotidiano dos desenvolvedores. Mas entendam que não há o paradigma que resolverá todos os tipos de problemas, e sim um paradigma especifico que resolverá com mais facilidade um problema especifico, cabe ao desenvolvedor escolher em qual paradigma ele se adapte de maneira confortável, assim o problema em que trabalhar terá uma dificuldade menor e desenvolverá uma solução eficiente.

Download do artigo
Autor:


Artigos Relacionados


Compilador Para Reconhecimento De Expressões Matemática Ou Seqüência De Códigos

As Mídias Interativas E O Atual Paradigma Pedagógico Nacional

Mudanças No Paradigma Educacional: O Uso Das Novas Tecnologias Da Informação E Comunicação Na Educação Contemporânea.

O Que É Paradigma?

Crime De Amor...

O Que São Sistemas Distribuídos

Obesidade: Um Problema Mundial