O Problema da Orientação a Objetos

A programação orientada a objetos é o paradigma mais utilizado no mundo e isso acontece por conta das suas inúmeras vantagens e transformações que gerou no desenvolvimento como um todo.

No entanto, é claro que nem tudo são rosas, a programação orientada a objetos tem as suas fraquezas e não é uma opção que deve ser utilizada em todas as situações, sem antes passar por uma análise aprofundada.

O criador da linguagem Erlang tem uma opinião bem forte sobre o paradigma, dá uma olhada no que ele fala:

“O problema das linguagens orientadas a objetos é todo esse ambiente implícito que vem junto com elas. Você queria uma banana, mas o que recebeu foi um gorila segurando uma banana e a selva inteira em volta dele.

 

Gorila? Hã?

Claro que o Gorila é uma metáfora. No caso, esta frase expõe o fato de que as linguagens orientadas a objetos fazem com que seja extremamente difícil de fazer coisas que deveriam ser simples. 

Um exemplo claro disso são as linguagens Java e C#. Para fazer um simples programa que escreve “Hello World” na tela, é necessário montar um projeto inteiro, fazer a criação de classes específicas, colocá-las todas em lugares específicos, e por aí vai…

Claro que atualmente existem diversas IDEs que facilitam este processo, mas ainda assim muitas vezes pode soar como um trabalho um tanto quanto chato e desnecessário.

Por conta disso as linguagens funcionais começam a ser uma possibilidade que deve ser estudada e levada em consideração, veja algumas de suas vantagens

 

Linguagens Funcionais

As linguagens funcionais, como o nome sugere, tem a estrutura de seus programas construída a partir de funções, o que pode simplificar muito a vida do desenvolvedor

As linguagens funcionais tendem a ser mais simples de escrever, desenvolver testes, e trabalhar com concorrência, pois contam com uma menor complexidade e dependência das partes, como acontece na orientação a objetos

Claro que ela também tem seus pontos negativos. Um dos principais é que pode ser difícil conectar as partes do seu código, e por conta do conceito da imutabilidade é possível que seu código fique com “lixo”.

Por isso, existem algumas linguagens de programação que ficam no meio do caminho, e podem ser consideradas como “multi-paradigma”

 

Multi-Paradigma

Linguagens classificadas como “multi-paradigma” tendem a possuir características de linguagens orientadas a objetos de forma menos restritiva, e combiná-las com conceitos funcionais.

Um exemplo claro disso é a linguagem Go, que possui estruturas semelhantes às classes da orientação a objetos, porém não obriga a criação de nenhuma para que o programa funcione corretamente. Por conta desta flexibilidade, o programador pode decidir qual das abordagens funciona melhor para o determinado problema que está tentando resolver

 

Conclusão

Claro que nenhum paradigma é perfeito, todos eles têm seus pontos positivos e negativos. O importante é saber onde usar cada um deles e não ficar “apaixonado” por apenas uma solução. É necessário ter flexibilidade para saber qual problema pode ser resolvido por qual abordagem.

Deixe um comentário

O seu endereço de email não será publicado.