OOP é frequentemente considerado como uma estratégia eficaz de gerenciar a complexidade do software, em oposição à programação de procedimentos que não são OOP.
Existem estudos testando essa noção? Está provado que o OOP geralmente ajuda a gerenciar a complexidade em grandes projetos?
object-oriented
case-studies
Aviv Cohn
fonte
fonte
Respostas:
Não conheço nenhum estudo com medições quantificáveis. Como outros já mencionaram nos comentários à sua pergunta, é praticamente impossível conseguir isso. No entanto, existem trabalhos um tanto filosóficos que tentam responder a isso.
Meu artigo favorito sobre esse assunto é Out of the Tar Pit, de Ben Moseley e Peter Marks . Ele argumenta com várias declarações de fontes respeitáveis sobre design de sistemas complexos a resultados bastante interessantes.
Out of the Tar Pit conclui que a programação de funções é realmente o melhor paradigma para apoiar as soluções que estão propondo. O que faz sentido, porque, na minha experiência, os sistemas complexos de POO ficam muito próximos dos procedimentos com o tempo e começam a parecer com POO (eles não têm sintaxe e outros atributos, mas um fluxo de execução pode se tornar bastante semelhante). A diferença real vem com um paradigma diferente ou combinando-o com OOP. No momento, esse paradigma é a programação funcional que finalmente está se tornando utilizável em aplicativos de negócios comuns por programadores comuns (ainda chegando lá).
fonte
Sim, houve alguns estudos. Aqui está um: http://www.csm.ornl.gov/~v8q/Homepage/Papers%20Old/spetep-%20printable.pdf
Basicamente, conclui que não há uma diferença mensurável entre produtividade de código processual e produtividade de linguagem OO ... mas a verdade é que esses tipos de perguntas são tão sensíveis ao contexto que nenhum estudo lhe dirá o que você deve fazer em uma determinada situação .
fonte