Si vous repensez à la raison pour laquelle OO a été inventé, vous verrez que vous n'avez pas du tout besoin de OOP, mais parfois cela vous facilite la vie.
À l'époque du codage C, un très gros programme pouvait devenir assez compliqué et difficile à utiliser. Ils ont donc inventé des façons de le diviser en morceaux modulaires. La POO adopte cette approche et la rend encore plus modulaire, en plaçant les données avec ces morceaux de logique de programme afin qu'ils soient encore plus séparés du reste du code.
Cela vous permet d'écrire des programmes de plus en plus gros, sûr que vous avez plutôt changé votre énorme éléphant d'une tâche en une centaine de tâches de la taille d'une souris. Le bonus supplémentaire est que vous pouvez prendre certaines de ces «souris» et les réutiliser dans d'autres programmes!
Bien sûr, le monde réel n'est pas tout à fait comme ça, et la réutilisation des objets n'a jamais tout à fait pris dans la façon dont il était prévu, mais cela ne signifie pas que c'est un paradigme inutile.
Ce qui est inutile, c'est une dépendance excessive à l'égard de l'un ou l'autre style de codage. Quiconque fait OO avec mille petites classes insignifiantes ne le fait pas vraiment bien - il se fait un cauchemar de maintenance pour lui-même (ou pour quelqu'un d'autre). Quiconque écrit une demande procédurale qui ne comporte que 3 fonctions rend également la vie difficile. Le meilleur moyen est le sol de taille moyenne, les objets de grande taille (parfois appelés composants, où nous semblions aller une fois) qui peuvent fournir une bonne quantité de code et de données autonomes qui sont beaucoup plus susceptibles d'être réutilisés indépendamment du reste de votre application.
Mon conseil pour la prochaine fois: essayez d'écrire votre code procédural habituel, mais créez un seul objet de votre structure de données principale. Voyez comment vous trouvez qu'il est plus facile de travailler avec que de transmettre des données d'une fonction à l'autre.