rygnes : Je ne suis pas convaincu par tes propos, pas plus que tu ne l'es par les miens^^
Pour te rassurer bien que je n'ai rien à prouver, je t'assure que je sais m'y prendre avec la POO comme en procédural, et que je tire mes conclusions d'expérience.
Je dois réaliser 5 programmes différents pour mon BTS, il y en a certain en procédural d'autre en objet. Les plus long et les plus difficile dans leur avancement sont ceux en POO, non pas parce que la tache à accomplir est plus dur ou que je ne sais pas comment la réaliser, mais parce que on perd un temps fou quand tout est basé sur de l'objet: de la création de classe, accesseurs jusqu’aux appels des méthodes...
De plus dès que tu bouges quelques choses en BDD, tu dois retoucher à chaque fois ta classe :
Rajouter un attribut et les gets et les sets correspondant, c’est lourd, redondant et concrètement ça n’apporte rien de plus qu’un simple tableau !
Mise a part qu'un tableau est créé en 2 min et qu'une classe peut prendre beaucoup de temps… Surtout que certains on la fâcheuse tendance à créer des classes pour rien, remarque je rigole bien quand ils viennent demander pourquoi leur 20ene de lignes marche pas, alors qu’en 2 ou 3 en procédural se serait réglé…
Le débugge est carrément soulant (je parle toujours de PHP en POO), en cas d’erreur tu as une ligne (comme en procédural) sauf que 9 fois sur 10, la ligne (ou les lignes alentour) ne sont pas du tout la source du problème, et tu n’as aucune indication d’où se situe réélement l’erreur !
Parfois même c’est un include de class qui elle même include d’autre class, au final tu as des pages entière ou pourrait se cacher l’erreur…
Bref grosse perte de temps là aussi, donc désolé mais je ne suis pas d’accord sur le gain de temps.
Ensuite sur la lisibilité, moi je lis aussi bien l’une que l’autres, mais je trouve plus clair d’écrire :
Info_véhicule[1][‘couleur’]
Plutôt que
collectionvehicule->getVéhicule(1)->getCouleur()
(notamment dans les conditions des if ou de boucles, qui ne rentre plus sur ton écran tellement elle sont longues)
Donc soutenir que c’est lisible, surtout que l’objet renvois toujours aux classes, donc a d’autre page que celle ou tu te situes => on ne peut pas avoir toutes les pages en même temps sous les yeux, donc non ce n’est pas plus lisible.
Quand au temps de maintenance je ne vois pas en quoi il serait plus long en procédural, si tu fais bien les choses, que tu organise bien ton code, tu t’y retrouveras sans doute plus vite avec des tableaux que des trucs a rallonge.
Au lieu de perdre du temps à décrire une classe personnage, moi j’ai un tableau et dès que j’en ai besoin je fais : perso[‘pv’] et voilà.
Alors tu me diras que cela revient au même que d’écrire perso->getPv(), oui…
La différence c’est que je n’ai pas perdu plusieurs minutes à décrire une classe pour faire au final la même chose…
La POO aide à clarifier, et ordonner les données en mémoire, mais si on est suffisamment clair et rigoureux, le procédural marche tout aussi bien et est tout aussi rapide si ce n’est plus que la POO.
Je ne parle pas de l’argument qui dit que la POO est moins accessible à la compréhension que le procédural pour certains…
Pour en revenir à Lain : je ne te conseil pas ni de m’écouter ni d’écouter un autre, fait toi ton opinion, créez deux petits jeux(ou programme) d’égal importance et qui demande a peut prés le même temps de réalisation, et créez l’un en objet et l’autre en procédural, tu choisiras ensuite ce que tu préférés, je pense que c’est a l’appréciation de tous.
Pour te rassurer bien que je n'ai rien à prouver, je t'assure que je sais m'y prendre avec la POO comme en procédural, et que je tire mes conclusions d'expérience.
Je dois réaliser 5 programmes différents pour mon BTS, il y en a certain en procédural d'autre en objet. Les plus long et les plus difficile dans leur avancement sont ceux en POO, non pas parce que la tache à accomplir est plus dur ou que je ne sais pas comment la réaliser, mais parce que on perd un temps fou quand tout est basé sur de l'objet: de la création de classe, accesseurs jusqu’aux appels des méthodes...
De plus dès que tu bouges quelques choses en BDD, tu dois retoucher à chaque fois ta classe :
Rajouter un attribut et les gets et les sets correspondant, c’est lourd, redondant et concrètement ça n’apporte rien de plus qu’un simple tableau !
Mise a part qu'un tableau est créé en 2 min et qu'une classe peut prendre beaucoup de temps… Surtout que certains on la fâcheuse tendance à créer des classes pour rien, remarque je rigole bien quand ils viennent demander pourquoi leur 20ene de lignes marche pas, alors qu’en 2 ou 3 en procédural se serait réglé…
Le débugge est carrément soulant (je parle toujours de PHP en POO), en cas d’erreur tu as une ligne (comme en procédural) sauf que 9 fois sur 10, la ligne (ou les lignes alentour) ne sont pas du tout la source du problème, et tu n’as aucune indication d’où se situe réélement l’erreur !
Parfois même c’est un include de class qui elle même include d’autre class, au final tu as des pages entière ou pourrait se cacher l’erreur…
Bref grosse perte de temps là aussi, donc désolé mais je ne suis pas d’accord sur le gain de temps.
Ensuite sur la lisibilité, moi je lis aussi bien l’une que l’autres, mais je trouve plus clair d’écrire :
Info_véhicule[1][‘couleur’]
Plutôt que
collectionvehicule->getVéhicule(1)->getCouleur()
(notamment dans les conditions des if ou de boucles, qui ne rentre plus sur ton écran tellement elle sont longues)
Donc soutenir que c’est lisible, surtout que l’objet renvois toujours aux classes, donc a d’autre page que celle ou tu te situes => on ne peut pas avoir toutes les pages en même temps sous les yeux, donc non ce n’est pas plus lisible.
Quand au temps de maintenance je ne vois pas en quoi il serait plus long en procédural, si tu fais bien les choses, que tu organise bien ton code, tu t’y retrouveras sans doute plus vite avec des tableaux que des trucs a rallonge.
Au lieu de perdre du temps à décrire une classe personnage, moi j’ai un tableau et dès que j’en ai besoin je fais : perso[‘pv’] et voilà.
Alors tu me diras que cela revient au même que d’écrire perso->getPv(), oui…
La différence c’est que je n’ai pas perdu plusieurs minutes à décrire une classe pour faire au final la même chose…
La POO aide à clarifier, et ordonner les données en mémoire, mais si on est suffisamment clair et rigoureux, le procédural marche tout aussi bien et est tout aussi rapide si ce n’est plus que la POO.
Je ne parle pas de l’argument qui dit que la POO est moins accessible à la compréhension que le procédural pour certains…
Pour en revenir à Lain : je ne te conseil pas ni de m’écouter ni d’écouter un autre, fait toi ton opinion, créez deux petits jeux(ou programme) d’égal importance et qui demande a peut prés le même temps de réalisation, et créez l’un en objet et l’autre en procédural, tu choisiras ensuite ce que tu préférés, je pense que c’est a l’appréciation de tous.
Dévotion, jeu multijoueur gratuit par navigateur de stratégie et de conquête
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne
Rapture Studio : créateur de divertissement pour tous
JePolitique.fr - débattons ensemble
JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir
Je Deviens Citoyen (Association à but non lucratif)
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne
Rapture Studio : créateur de divertissement pour tous
JePolitique.fr - débattons ensemble
JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir
Je Deviens Citoyen (Association à but non lucratif)