12-04-2009, 11:44 PM
Pas du tout convaincu non plus, sauf ton respect, je pense que tu manques sérieusement de recul et d'expérience pour pouvoir apprécier le confort qu'apporte la POO dans un projet. Et là, je parle aussi avec mon expérience
Je retrouve dans ta description de la POO toutes les interrogations et les trucs chiants que je reprochais à cette approche quand je m'y suis mis.
J'ai encore pas mal de choses à apprendre en POO, mais j'en connais suffisamment pour savoir qu'on ne peut pas s'en passer pour les projets qui sont voués à évoluer et pour plein d'autres raisons. En vrac : modularité, réutilisabilité, lisibilité, maintenance. Un tas de trucs bien galère avec du pur procédural a tendance monolithique, quand le projet prend de l'ampleur.
Exemple tout con : j'ai développé une application serveur pour mon jeu. Plutôt que de mélanger le code qui s'occupe de l'ouverture des sockets, la lecture / écriture de données... et tout le tsoin-tsoin avec les données "métier", qui concernent directement le jeu, j'ai fait une classe assez abstraite pour pouvoir être réutilisée à d'autres sauces ( et une classe fille, avec les spécificités du jeu ). Ce qui n'aurait pas été possible si j'avais fait du procédural, car le code qui gère les connexions et celui qui gère le jeu auraient été tout mélangés...
Je retrouve dans ta description de la POO toutes les interrogations et les trucs chiants que je reprochais à cette approche quand je m'y suis mis.
J'ai encore pas mal de choses à apprendre en POO, mais j'en connais suffisamment pour savoir qu'on ne peut pas s'en passer pour les projets qui sont voués à évoluer et pour plein d'autres raisons. En vrac : modularité, réutilisabilité, lisibilité, maintenance. Un tas de trucs bien galère avec du pur procédural a tendance monolithique, quand le projet prend de l'ampleur.
Exemple tout con : j'ai développé une application serveur pour mon jeu. Plutôt que de mélanger le code qui s'occupe de l'ouverture des sockets, la lecture / écriture de données... et tout le tsoin-tsoin avec les données "métier", qui concernent directement le jeu, j'ai fait une classe assez abstraite pour pouvoir être réutilisée à d'autres sauces ( et une classe fille, avec les spécificités du jeu ). Ce qui n'aurait pas été possible si j'avais fait du procédural, car le code qui gère les connexions et celui qui gère le jeu auraient été tout mélangés...