Durante esta semana, reservei algumas horas do meu dia para esclarecer as dúvidas de um membro da equipe em relação ao paradigma de orientação a objetos. Optamos por utilizar o livro "PHP Programando com Orientação a Objetos", escrito por Pablo Dall’Oglio, porque era o livro que ele tinha à disposição. Mesmo sendo mais antigo, o livro oferece uma boa introdução à orientação a objetos. Além disso, procurei incluir referências recentes em cada tópico.
Compreendendo a Programação Orientada a Objetos
Para iniciar a compreensão dos conceitos de orientação a objetos, eu sempre recomendo a leitura do Capítulo II do livro "Arquitetura Limpa: O Guia do Artesão para Estrutura e Design de Software", intitulado "Começando com os Tijolos: Paradigmas da Programação". Neste capítulo, são explorados os três principais paradigmas de programação: estruturada, orientação a objetos e funcional, acompanhados de um contexto histórico. Além disso, o capítulo apresenta figuras, como Edsger Wybe Dijkstra, cujo nome é reconhecido por todos devido ao Algoritmo de Dijkstra. A seguir, faço um breve resumo do conteúdo abordado:
1968: Surgimento da Programação Estruturada
- Edsger Wybe Dijkstra introduziu a programação estruturada.
- Ele destacou as desvantagens de usar saltos irrestritos (instruções goto) na programação.
- Dijkstra defendeu construções estruturadas como if/then/else e do/while/until como alternativas às instruções goto.
- A programação estruturada visa melhorar a estrutura e a legibilidade do programa.
1966: Descoberta da Programação Orientada a Objetos (OOP)
- Ole Johan Dahl e Kristen Nygaard notaram que o quadro da pilha de chamadas de função na linguagem ALGOL poderia ser movido para um heap.
- Isso permitiu que variáveis locais declaradas por uma função existissem muito depois do retorno da função.
- O conceito de função evoluiu para um construtor de classe.
- Variáveis locais tornaram-se variáveis de instância.
- Funções aninhadas transformadas em métodos.
- Esta descoberta lançou as bases para a Programação Orientada a Objetos.
É comum afirmar que a programação orientada a objetos possui a capacidade de modelar o mundo real. Eu costumava ouvir muito sobre isso durante as disciplinas da faculdade, porém, naquela época, o entendimento disso me parecia um tanto abstrato. O Capítulo 2 do livro "Orientação a Objetos - Aprenda seus conceitos e suas aplicações de forma efetiva" aborda o contexto histórico e esclarece a ideia de como sistemas digitais podem simular o mundo real.
Esses dois paradigmas, Programação Orientada a Objetos e Programação Estruturada, revolucionaram o desenvolvimento de software.
Top comments (0)