Paradigmas de Programação: Estilos diferentes de escrever o mesmo texto

By Tiago Frossard | 13/08/2007

Lembram-se desse exemplo onde eu falei de um código como se fosse um texto? Pois então, bem como um texto, um código fonte pode ser escrito de diversas formas diferentes.

 

Se você está escrevendo em prosa, vai escrever como o Nuss… E Agora?!?, utilizando linhas contínuas. Vai escrevendo palavra por palavra até chegar ao final da linha, daí passa pra outra, e pra outra, e pra outra… Isso é diferente de uma redação em poesia, que você divide o texto em diversos versos, que não preenchem toda a linha. Você também pode escolher se quer fazer uma narrativa, escrever em linguagem culta ou qualquer outra das inúmeras formas diferentes de se escrever.

 

Agora pense comigo: se aquele mesmo texto pode ser escrito de acordo com essas inúmeras regras e diferentes estilos em prosa, verso, de forma culta ou coloquial, por que não dar também estilos ao código-fonte?

 

Cada linguagem de programação aceita um estilo ou grupo de normas para que você escreva o programa e não se perca naquele texto todo. Esse estilo é o que chamamos de Paradigma de Programação. Talvez os 2 mais comuns hoje em dia sejam:

 

  • Programação Procedural

 

Nesse tipo de programação, o programa é dividido em partes menores, que são então divididas em partes menores ainda, e menores, e menores, até que aquele problema gigantesco seja transformado em trocentos problemas menores. É o famoso “Dividir para conquistar”.

 

Por exemplo, eu quero um programa que me gerencie as notas dos alunos de uma escola. Para isso, o programa tem que ser capaz de ler esse monte de notas e alunos, realizar as médias, me dar os valores das notas finais, calcular quem passa e quem fica de recuperação. Tem que ser capaz também de recalcular baseado nas recuperações e mais uma pá de outras funções que não vêm ao caso.

 

Nesse exemplo, fica muito mais fácil quebrar o programa em partes menores e resolver cada uma dessas partes: uma parte que faz a média dos alunos, uma que lê as notas, uma que me mostre quem passou e quem ficou de recuperação… A gente vai “dividindo e conquistando” cada pedacinho até que o programa todo esteja conquistado.

 

Na Programação Procedural, essas inúúúúúúmeras pequenas partes que, juntas, realizam todo aquele funcionamento gigantesco podem ser chamadas por vários nomes, como funções (functions), procedimentos (procedures) e rotinas (routines).

 

  • Programação Orientada a Objetos

 

Esse estilo de programação é muito parecido com a Programação Procedural, mas tem uma diferença principal. Na Programação Orientada a Objetos (Object-Oriented Pogramming, POO ou ainda OOP) a idéia principal é fazer com que o programa e seu funcionamento se pareçam ao máximo com o mundo real, visando entender melhor aquilo tudo que está escrito. Na POO, cada uma das funções ou procedimentos do programa estão dentro do que a gente chama de classe.

Cada classe representa um objeto do mundo real, possuindo suas características e ações. Então, criando aquele programa anterior, teríamos classes para Alunos e classes para Notas, por exemplo.

É um paradigma muito utilizado nos dias de hoje, principalmente quando falamos em criação de jogos ou outros programas de alta complexidade.

Existem vários tipos de problemas diferentes no mundo e nem todos os paradigmas são bons para todos os tipos de problemas. Para isso, existem paradigmas para diversos tipo de problema diferentes.Programação em Lógica vai transformar e resolver tudo utilizando a Lógica Matemática: Se rosas são flores e flores são bonitas, então rosas são bonitas. Esse exemplo simples de lógica matemática também é o usado, por exemplo, para dizer quem são seus tios e seus avós em uma árvore genealógica.

Já a Programação Funcional transforma todo o funcionamento do mundo em funções matemáticas, resolvendo os problemas com aqueles f(g(h(x))) que estudamos em matemática (e que muitos de nós fizeram(mos) questão de esquecer).

Uma Programação Híbrida reúne mais de um paradigma de programação. Normalmente atribui-se esse nome a um programa que possua partes orientadas a objetos e partes procedurais, mas tecnicamente pode ser um conjunto de quaisquer paradigmas.

Pois então, gente. É isso. Se eu falei alguma besteira aqui ou alguma coisa ficou enrolada, por favor, avisem! Só com o retorno de vocês que o Nuss… e agora?!? poderá crescer! Portanto, deixem seus comentários. Até a próxima!

Artigos Relacionados:

Sem artigos relacionados.

5 Comments

  • By Mário Marinato, 15/08/2007 @ 02:23

    Belo texto, Frossard. Deu uma panorâmica muito boa sobre os paradigmas. Parabéns.

    Agora, só uma dica: sabe no início do post, quando você fala de um outro post? Vale a pena colocar um link ali.

    Ah, sim, “diversos versos” ficou ótimo. Foi intencional?

  • By Tiago Frossard, 15/08/2007 @ 11:19

    Valeu pela dica Mário. Já alterei lá. E quanto ao “diversos versos”, sinto informar-lhe mas num foi intencional ñ. =P

  • By Admin, 15/08/2007 @ 17:29

    Muito bom seu blog e seu texto sobre paradigmas, espero que continua escrevendo, já recomendei seu blog pra outras pessoas.
    Parabéns
    Flw

  • By lilian, 12/11/2008 @ 17:20

    oiiiiiiiiiiiiiii,nao entendi nada

  • By Tiago Frossard, 24/11/2008 @ 22:30

    Exatamente o q vc não entendeu, Lilian?

Links to this Post

RSS feed for comments on this post. TrackBack URI

Leave a comment

WordPress Themes

Rec6plug

Search engine optimization by SEO Design Solutions