Para quem está começando na área de desenvolvimento de software essa é uma pergunta que muitas vezes se torna recorrente, visto que atualmente outras questões como Programação Funcional, Desenvolvimento Guiado a Testes, por exemplo, são levantadas ao mesmo tempo em que a Programação Orientada a Objetos — POO é citada.