É um paradigma da programação, que utiliza subrotinas, condições, laços de
repetição, e estruturas de bloco. É uma forma de programação que desenvolve
algoritmos de baixa ou alta complexidade e ajuda na compreensão e solução de
problemas através de códigos.
Possui 3 estruturas: sequência, condição e repetição, que são
maneiras de raciocínio fáceis e intuitivos que ajuda na
compreensão de cada bloco de código.
VANTAGENS
Mais fácil de ser compreendido e bastante usado em
cursos de aprendizado, iniciante. Mais fácil de ser
controlado e utilizado. Maior controle do fluxo de
execução do programa.
DESVANTAGENS
Pode ocorrer de o código ficar confuso e não poder ser
reutilizado devido a não definição de tarefa.
ORIENTADO A OBJETOS
É dividida em "objetos", e é um modelo de análise,
programação e projeto de software, que se baseia na
interação desses "objetos".
Trata-se da forma que quem vai desenvolver pensa, como irá solucionar
o problema e o que será utilizado para se resolver esse problema. O
programador pensa nas coisas de forma distinta.
VANTAGENS
Reutilização de código mais fácil, é possível trabalhar em nível de
abstração elevado, se adequa melhor à arquitetura cliente/servidor, mais
fácil de se comunicar com o usuário e possui um ciclo de vida mais
longo.
DESVANTAGENS
Complexo para desenvolvedores que estão
começando, demanda mais memória, limitação nas
funcionalidades pela interface.
Os 4 pilares da programação orientada a objetos:
abstração, encapsulamento, poliformismo e herança.