Google Notícias

Google Notícias
Um agregador de notícias e aplicativo

Olhar Digital - O melhor da CES 2024



05/05/2016

Linguagem de programação


PE e POO


Qual a diferença entre 


Veja a diferença, benefícios e vantagens e desvantagens entre a programação estruturada e a programação orientada a objetos.
Muito se fala sobre programação orientada a objetos, hoje em dia já é algo tão familiar aos programadores que se acaba esquecendo que há algum tempo a programação estruturada dominava amplamente. Nas universidades a iniciação as linguagens de programação, são em sua grande maioria linguagens estruturadas, por ser uma fase de adaptação a lógica que escrever códigos impõe.

Definição de programação estruturada (PE) ou procedural
É uma forma de escrever os códigos sem encapsular dados, ou seja, que em qualquer parte do código seja possível utilizar um dado guardado em uma variável, sem a necessidade de permissão. Com o auxílio de métodos estruturados pode-se modificar e retornar dados em variáveis. Não há organização em camadas, que veremos logo mais neste artigo como funciona, assim sendo, todos os tipos de códigos estão nos mesmos arquivos. Certamente é a mais fácil de aprender e mais fácil de controlar o fluxo da estrutura do código, daí o nome de programação estruturada.

Definição encontrada na internet: 
é 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 à forma dominante na criação de software anterior à programação orientada por objetos. (Wikipédia).

Exemplos de linguagem: 
  1. C. COBOL (Linguagem Comum Orientada para os Negócios ), 
  2. Fortran (IBM Mathematical FORmula TRANslation System"), 
  3. Perl 
Definição de programação orientada a objetos (POO):
A orientação a objetos se dá ao fato da escrita do código tentar trazer objetos do mundo real para se tornar parte do código. Com o uso de classes, podemos encapsular estes objetos e utilizá-los apenas se estivermos estas classes instanciadas e se ela permitir o uso externo ou não. Outra parte importante da orientação é podermos usufruir de camadas de programação. Na internet, por exemplo, podemos ter a camada de interface, onde os métodos da linguagem base do site ou sistema conversam através de métodos com a linguagem HTML. Então, temos a camada de interface, a camada de métodos de união entre a interface e o backend (camada de inteligência e mecanismo de manipulação dos dados).

Ainda podemos dizer que a linguagem de orientação a objetos é uma forma melhor de se reaproveitar códigos, pois todos os métodos criados têm uma finalidade e podem ser invocados toda vez que se fizer necessário. 
Exemplo: Um método para inserir um registro no banco de dados. Esta função vai ser chamada toda vez que você quiser inserir um registro em uma determinada tabela, desta forma, precisa-se fazer uma vez o código e sempre reutilizá-lo. 
Facilita para a organização do projeto, separar estes conjuntos de objetos em classes.

Definição encontrada na internet
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. Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de programação. De fato, o paradigma "orientação a objeto", tem bases conceituais e origem no campo de estudo da cognição, que influenciou a área de inteligência artificial e da linguística, no campo da abstração de conceitos do mundo real.

Na qualidade de método de modelagem, é tida como a melhor estratégia para se eliminar o "gap semântico", dificuldade recorrente no processo de modelar o mundo real do domínio do problema em um conjunto de componentes de software que seja o mais fiel na sua representação deste domínio. Facilitaria a comunicação do profissional modelador e do usuário da área alvo, na medida em que a correlação da simbologia e conceitos abstratos do mundo real e da ferramenta de modelagem (conceitos, terminologia, símbolos, grafismo e estratégias) fosse a mais óbvia, natural e exata possível.

Exemplos de linguagens::
  1. JAVA
  2. C#
  3. C++
  4. Python
Comparativo entre as formas de programação
Reutilização de código
  1. PE: É possível reutilizar códigos na programação estruturada (a reutilização de códigos), porém em muitos casos você será obrigado a utilizar o famoso "CTRL C + CTRL V". 
  2. 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
  1. 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. 
  2. 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
  1. 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. 
  2. 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.
Considerações finais
A ideia de construir um algoritmo para resolver um problema (PE),  salvar aquele arquivo e vê-lo funcionando, brilha os olhos de quem o criou. Mas a forma de resolver um problema, salvar e passar a tentar resolver outro não se mostrou muito eficiente. 
POO, A manipulação dos dados, a construção dos objetos, a tentativa de resolver mais de um problema com o mesmo código fazem você se apaixonar ainda mais pela tecnologia envolvida. 
"Todo mundo deveria saber programar, o mundo seria melhor se todos soubessem".
Steve Jobs e Bill Gates

Fonte:
Google - books
Oficina da net
Devmedia

Nenhum comentário:

Total de visualizações InfoTec