Olá desenvolvedores, discutiremos hoje sobre o PARADIGMA PROCEDURAL VS O PARADIGMA DA ORIENTAÇÃO A OBJETOS. Cada uma das muitas linguagens existentes no mercado apresentam peculiaridades que vão ao encontro do paradigma que a linguagem implementa.

É seguindo as normas desse paradigma que esta ou aquela solução será desenvolvida. Visto que cada paradigma tem o seu próprio modo de resolver o mesmo problema. Em tese significa que cada paradigma dirá ao programador dentro de sua própria visão como cada trecho do código deverá se comportar.

Como você muito bem sabe, existem hoje muitas linguagens de programação disponíveis para atender os mais diversos propósitos e necessidades. E isso acaba se convertendo em um problema principalmente para alguém que deseja entrar no mundo da programação. Porém, não tem ideia de por onde começar.

Entretanto, o que permanece imutável desde os primórdios é o conceito da programação imperativa definido por John von Neumann. Trata-se de uma concepção comum a ambos os paradigmas. Isto é, orienta tanto o procedural quando o paradigma da orientação a objetos. O conceito definido por Neumann diz simplesmente que devemos dar ordens ao computador de forma padronizada e sequencial.

O pensamento no entorno da programação imperativa tem, ao longo do tempo, regido a base de muitos paradigmas existentes na programação. A saber, um dos quais o paradigma da programação procedural ou estruturada. Estes dois paradigmas são a porta de entrada dos aspirantes a programadores, neste universo que é fantástico e sem limites.

PARADIGMA PROCEDURAL

O PARADIGMA PROCEDURAL ancora linguagens de programação qual o elemento básico é uma sequência de instruções. Tal percepção se encaixa perfeitamente no pensamento de von Neumann acerca da programação imperativa. Ou seja, devemos definir uma forma padrão e sequencial de passos a serem cumpridos.

Entre as linguagens mais famosas que seguem esta premissa estão o C, Pascal, Basic, Fortran, Cobol e muitas outras. Mas elas têm mais em comum, são de simples manipulação e requerem baixo poder de processamento das máquinas para serem executadas.

Mas o cenário de constante evolução, exigiu e ainda exige cada vez mais soluções ainda mais sofisticas. E isso tanto na automação de processos quanto no desenvolvimento de novos recursos e resoluções para velhos problemas. Esta exigência resultou na necessidade de desenvolvimento de máquinas com mais poderes de processamento.

Assim, junto a esta exigência, consequência de um processo evolutivo acelerado, novos paradigmas foram exigidos. Paradigmas estes que atendessem a específicas necessidades, principalmente na programação. É neste cenário que surge o PARADIGMA DA ORIENTAÇÃO A OBJETOS. Tal paradigma veio para compor onde os outros eram falhos.

PARADIGMA DA ORIENTAÇÃO A OBJETOS

Dessa forma, dá-se o nome de Programação Orientada a Objetos o processo de usar uma linguagem orientada a objetos. Isto é, que preconiza o uso de quatro elementos, a saber, encapsulamento, polimorfismo, herança e ligação dinâmica. A orientação a objetos também está ancorada no modelo de programação imperativa de Neumann.

Mas não somente. Orientação a objetos é um conceito que está relacionado com a ideia de classificar, organizar, abstrair, encapsular, e na reutilização de trechos de códigos. E também na possibilidade de representar em um sistema computacional, objetos do mundo real.

PROCEDURAL VS OBJETOS

Aprender a programar com linguagens procedurais é um bom meio de começar. Veja, somas simples, equações idem, cálculo da média, mas eis que o nível das exigências começa a subir. Ou seja, quanto mais você aprende, mais você começa a querer extrair da linguagem. E quanto mais complexo vai ficando o sistema, igualmente o é a manutenção do código.

E se agora você quiser saber a qual aluno a nota pertence, e de qual disciplina ela é, e se você quiser editar a nota, e se você quiser que o sistema gere o diploma do aluno se ele atingiu a nota para aprovação? E se você precisar cadastrar novas disciplinas, novos alunos?

Claro que você pode usar linguagens da programação procedural para resolver estas questões. Mas se você se ancorar na programação procedural para aviar soluções para elas, o que você terá? Além de um código absurdamente extenso é uma alta probabilidade de trechos de códigos duplicados quando deveriam ter sido reaproveitados.

E mesmo que você recorra a modularização, ainda assim, será vítima de uma programação complexa. Quadro que poderá vir se agravar dependendo da regra de negócios. A orientação a objetos com um escopo bem delimitado e a interação entre os objetos vem para resolver problemas dessa natureza.

Não estou dizendo aqui que com o paradigma da orientação a objetos, programar será uma tarefa simples e corriqueira. Definitivamente não é o que estou dizendo. Mas que por meio da sua organização e modo de representar o mundo real, ela tenderá a simplificar a vida do programador. Atribuindo mais sentido as linhas de código.

Veja abaixo um quadro comparativo entre os dois principais paradigmas da programação:

EM POUCAS PALAVRAS

Aqui no FORMAÇÃO JAVA WEB, programaremos nesta que é uma linguagem de origem orientada a objetos, o Java. Entretanto, é importante que como programador, você conheça os dois principais paradigmas da programação. E ainda, que saiba o que motivou o desenvolvimento da linguagem na qual se tornará um expert.

A orientação a objetos rompeu barreiras e foi além de ser só mais um paradigma entre muitos. Ela representa uma nova forma de pensar a programação e como consequência repensar os problemas que a programação pode resolver. Ela não reinventou a roda, mas partindo do que já existia tornou melhor o processo.

Espero que tenham realmente compreendido o que é orientação a objetos e as vantagens de se programar orientado a objetos. Bem como sua importância nos paradigmas da programação. Isto é, como ela surgiu para resolver problemas e tornar menos complexas o desenvolvimento de novas soluções para antigos problemas.

Espero que você realmente tenha compreendido os conceitos de POO – Programação Orientada a Objetos, classes, métodos e atributos. É preciso solidificar muito bem a base para que possa assimilar com facilidade os novos conceitos que virão. Então não perca tempo, esteja presente, seja consistente e mãos ao código.

E lembre-se, sobre qual é a melhor ou pior linguagem. Bem, sempre haverá uma que é a mais indicada para uma dada situação do que a outra.