Muito tempo atrás (seis anos) me peguei questionando se a orientação a objetos realmente era o caminho a ser seguido, visto que raramente pensamos em não adota-la em nossos projetos (eles dizem que toda unanimidade é burra, né?). Isto rendeu inclusive um post na época que deu uma bela discussão: https://www.itexto.com.br/devkico/?p=1324
Algum tempo depois tive algumas experiências muito bem sucedidas com Node.js e, neste momento, percebi que na realidade estava usando muito pouca orientação a objetos. Na realidade, estava usando programação funcional. E aí a pulga voltou pra trás da minha orelha.
E hoje, pela manhã, me lembrei deste post bem antigo (2006!) chamado Execution in the Kingdom of Nouns que é uma crítica bem pesada à orientação a objetos (especialmente ao Java) cujo link compartilho aqui: http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html (o post é fenomenal, vale à pena ler)
Não só isto, mas buscando críticas à orientação a objetos os argumentos são bem interessantes também. Seguem alguns links:
Why OO sucks - Joe Armstrong (infelizmente morreu recentemente) - http://harmful.cat-v.org/software/OO_programming/why_oo_sucks
Whats wrong with Object Orient Programming - Este link trás diversas citações de peso contra OO que vale à pena ler também - https://www.yegor256.com/2016/08/15/what-is-wrong-object-oriented-programming.html
Sendo assim, solto aqui a pergunta: vocês já se pegaram questionando o uso do OO? Não se sentem um pouco mal pelo fato de a usarem sempre sem sequer se questionar? Já toparam com as limitações do paradigma? Como foi a experiência fora dele?
Pessoalmente, vejo como, do ponto de vista histórico, um tiro no pé. Realmente acredito (inclusive menciono isto no post acima) que acabamos complicando mais as coisas do que deveríamos. Talvez com o avanço dos micro serviços, que nos fornecem maior liberdade técnica OO retroceda um pouco em detrimento de outros paradigmas, como o funcional (ou mesmo procedural) por exemplo.
Que inicie a discussão portanto!