• [^] # Re: Quelqu'un dans l'assemblée saurait "vendre" le concept de POO ?

    Posté par . En réponse au journal Le problème de la POO pratiquée par des étudiants. Évalué à 9.

    À l'usage, je pense qu'il n'y a pas de « meilleur style de programmation » et qu'en fait, le paradigme à adopter est celui qui se rapproche le plus des données que tu souhaites manipuler.

    Bof, c'est juste une organisation différente du code. Je vous fait la même chose sans objets"

    Ah, mais tout est là : la programmation orientée objet est avant tout une histoire de conception et même si un langage orienté objet en lui-même est quand même préférable au quotidien, un modèle bien conçu peut virtuellement être implémenté ensuite dans n'importe quel langage. C'est ce que tente GTK, par exemple, même si ses casts incessants finissent par devenir lourdingues à force. Tu es donc peut-être le M. Jourdain de la POO.

    Pour le reste, tu peux essayer le raisonnement par l'absurde. Je ne sais pas quels langages tu utilises, mais essaie par exemple de programmer en C sans jamais recourir aux structures, par exemple. On se rend compte alors que ces structures sont en fait un embryon de programmation orientée objet, dans le sens où l'on réunit sous une même entité tous les attributs d'une chose identifiée et délimitée.

    L'exemple par lequel on commence souvent sont les nombres complexes. On peut passer sur le fait que tu ne puisses pas directement, en C, utiliser les opérateurs habituels -,+,*,/ dont tu fais un usage quotidien sur les nombres ordinaires. Mais même en définissant une bête fonction AddComplex (a_real,a_imag,b_real,b_imag), comment fais-tu pour renvoyer à la fois la partie réelle et la partie imaginaire ? Tu te retrouves à devoir ajouter deux pointeurs de variables dans tes arguments pour stocker le résultat.
    Imagine un programme scientifique entier écrit de cette façon, toujours sans structure. C'est faisable, mais c'est très lourd, et cela nécessite une grande rigueur en amont, à cause d'une raison simple : le langage en lui-même n'étant pas adapté, la conception se fait en amont en suivant une méthode qui s'y substitue.