(POO = Programmation Orientée Objets)
Je suis encore tombé sur des articles très critiques envers l'OO.
Dans la pratique, de ce que je peux constater de son usage en entreprise, ça finit toujours en cathédrales démentes et in-maintenables.
Pourquoi ? J'ai une piste.
Quelle est l'une des choses les plus difficiles en informatique ?
Les graphes.
Et quand on fait de l'OO, qu'est-ce qu'on construit ? Des graphes. Des tonnes de graphes avec des dépendances dans tous les sens. La structure même de votre logique métier est codée dans des graphes.
Ça se tient.
Quelques liens pour avoir matière à réflexion:
http://www.cs.otago.ac.nz/staffpriv/ok/Joe-Hates-OO.htm
https://dpc.pw/the-faster-you-unlearn-oop-the-better-for-you-and-your-software
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53
https://medium.com/@konradmusial/why-oop-is-bad-and-possibly-disastrous-e0844fa96c1f
https://codeburst.io/inheritance-is-evil-stop-using-it-6c4f1caf5117
http://4js.com/files/documents/products/genero/WhitePaperHasOOPFailed.pdf
http://www.smashcompany.com/technology/object-oriented-programming-is-an-expensive-disaster-which-must-end
https://content.pivotal.io/blog/all-evidence-points-to-oop-being-bullshit
http://harmful.cat-v.org/software/OO_programming/why_oo_sucks
https://blog.codinghorror.com/your-code-oop-or-poo/
http://www.iwriteiam.nl/AoP_OOCH.html
Et il y a bien sûr bien d'autres problème: L'informatique, par principe, c'est le traitement en masse de données. Quand on fait de l'objet, on s'acharne à découper tout en objets unitaires les plus simples possibles, et à bien les isoler du reste.
Je ne suis pas en train de dire que l'OO c'est définitivement mal, mais il faut absolument arrêter de le traiter de manière religieuse comme certains développeurs le font: Considérer l'OO comme l'unique solution à tous les problèmes, le point de passage obligé, et refuser toute critique.