Os paradigmas de programação orientada a objetos e estruturada definem como organizamos os nossos códigos. A programação estruturada é uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e iteração (esta última também é chamada de repetição), desenvolvida por Michael A. Jackson no livro “Principles of Program Design” de 1975.
Tendo, na prática, sido transformada na programação modular, a programação estruturada orienta os programadores para a criação de estruturas simples nos programas, usando as sub-rotinas e as funções.
Foi a forma dominante na criação de software anterior à programação orientada por objetos.
Apesar de ter sido sucedida pela programação orientada por objetos, pode-se dizer que a programação estruturada ainda é muito influente, uma vez que grande parte das pessoas ainda aprendem programação através dela.
Para a resolução de problemas relativamente mais simples e diretos, a programação estruturada é muito eficiente. Além disso, por exigir formas de pensar relativamente complexas, a programação orientada a objetos até hoje ainda não é bem compreendida ou usada pela maioria.
Na programação estruturada o programa é executado de cima para baixo.
Há de acrescentar também que inúmeras linguagens ainda extremamente relevantes nos dias de hoje, como Cobol, PHP e Perl ainda utilizam o paradigma estruturado (muito embora possuam suporte para a orientação a objeto).
Programação orientada a objetos
A orientação a objetos é um modelo de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.
Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software.
Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos. C++, C Sharp, VB.NET, Java, Object Pascal, Objective-C, Python, SuperCollider, Ruby e Smalltalk são exemplos de linguagens de programação orientadas a objetos.
ActionScript, ColdFusion, Javascript, PHP (a partir da versão 4.0), Perl (a partir da versão 5) e Visual Basic (a partir da versão 4) são exemplos de linguagens de programação com suporte a orientação a objetos.
Comparativo entre as formas de programaçãoPE: Programação Estruturada – POO: Programação Orientada a Objetos
Reutilização de código
PE: É possível reutilizar códigos na programação estruturada, porém em muitos casos você será obrigado a utilizar o famoso “CTRL C + CTRL V”.
POO: Com a POO você é capaz de elaborar um relacionamento entre diversos componentes, estabelecendo comunicação entre eles e facilitando assim, e muito, a reutilização de código, além da facilidade de se herdar atributos e comportamentos de outros objetos.
Manutenção do código
PE: A manutenção do código se baseia no que o programador que criou o código fez para deixar de comentários no próprio código ou se escreveu um roteiro sobre o que o programa faz.
POO: Na POO, se o código seguir os padrões de construção, qualquer programador que conheça os padrões pode facilmente encontrar problemas, utilizar o código escrito ou até mesmo melhorá-lo se assim se fazer necessário.
Forma de execução
PE: A forma de execução da programação estruturada se dá pelo uso de resolução de tarefas, um código resolvendo um problema.
POO: A programação orientada a objetos tenta fazer com que os problemas sejam resolvidos de forma que possamos resolvê-los futuramente com a mesma eficiência.
Vantagens e desvantagens (PE)
Vantagens:
» Provê um melhor controle sobre o fluxo de execução do código, quando comparada com a POO;
» É de fácil compreensão, sendo amplamente usada em cursos introdutórios de programação.
Desvantagens:
» Ainda se foca em como a tarefa deve ser feita e não em o que deve ser feito;
» Tende a gerar códigos confusos, onde tratamento dos dados são misturados com o comportamento do programa.
Vantagens e desvantagens (POO)
Vantagens:
» Provê uma melhor organização do código;
» Contribui para o reaproveitamento de código.
Desvantagens:
» Pode não possui o mesmo desempenho de códigos estruturados similares;
» Seus conceitos são de difícil compreensão se comparados aos conceitos da Programação estruturada.
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários