Tu changes de discours comme de chemise: East c'était censé être bien parce que ça laisse la liberté aux objets de faire d'autres trucs ("je te fais confiance pour") et maintenant, West c'est pourri parce que les objets peuvent faire tout et n'importe quoi comme ils le souhaitent...
Au début tu nous dis "West c'est pourri car je suis obligé de retrourner un truc précis: si je veux retourner des chips au lieu de l'or je peux pas", on te montre que PHP n'ayant pas de retour typé, tu peux retourner ce que tu veux et du coup ça devient "West c'est nul parce que le retour est pas typé donc je peux faire n'importe quoi" et même quand on te souligne que en PHP7, tu pourras facultativement typer tes retours (donc forcer un typage à un endroit parce que tu le veux et ne pas le forcer à un autre), ça te convient encore pas.
T'as une dépendance circulaire, t'as juste (encore une fois) pas envie de l'admettre. PHP étant plus souple à ce niveau que d'autres langages (comme le C++), cela n'entraîne pas de problème majeur, mais (histoire de sortir de la zone de confort ), essaie-toi à faire le même code en C++, et tu verras: tu auras besoin d'une forward declaration. Et je me demande même si l'auto-complétion ne va pas sauter avec cette forward declaration.
Alan n'a pas eu tort au départ puisqu'il voulait copier la biologie. Or, dans la bio, la cellule ne fixe pas le destinataire du message. Dès lors, la notion de return est impossible (le return, c'est un message qui part de l'appelé et va vers l'appelant). C'est pas ce que t'as en PHP puisque tu fixes le destinataire du message. C'est donc au niveau du langage que tu veux changer les choses, pas au niveau du code. D'autant plus si tu parles du fait que East oblige à des pirouettes à cause du langage. C'est donc bien un principe de langage et non de code (l'OO est un langage d'ailleurs, pas une façon de coder).
Et accessoirement, en bio, il y a le même ADN dans toutes les cellules (sauf reproductrices ou mutations aléatoires). D'une part, je me sens pas de coder l'ADN complet (d'autant que j'ai pas forcément besoin de coder l'humanité et le monde du vivant complet si je veux juste simuler un joueur d'échecs: cela s'appelle faire un modèle), et cela implique qu'il n'existe qu'une et une seule classe pour toutes les cellules d'un être humain (voire, pour toute l'humanité ou même tout le vivant si l'ADN est vu comme des données de la cellule). Je comprends mieux pourquoi l'évolution s'étale sur des millions d'anées. Perso, j'aimerai aller un peu plus vite que ça
Si c'est "bien plus que return $this", alors y'a quoi de plus?
Avec tes liens, je suis tombé sur History: Alan POO, dont le passage "I realized that the cell/whole-computer metaphor would get rid of data, and that "<-" would be just another message token (it took me quite a while to think this out because I really thought of all these symbols as names for functions and procedures." retranscrit, si j'ai bien compris, ce qu'Alan voulait dire avec l'OO. Je sais pas de quel langage le "<-" vient (j'ai pas réussi à trouver), mais vu l'allure du symbole, j'ai envie de dire que c'est ou du return, ou du assign, donc, du pur West. Mais bon, là, je peux me planter.
Enfin, si instanceof est pas bien, tu dois être capable de me dire pourquoi en 15 secondes, non?
Au début tu nous dis "West c'est pourri car je suis obligé de retrourner un truc précis: si je veux retourner des chips au lieu de l'or je peux pas", on te montre que PHP n'ayant pas de retour typé, tu peux retourner ce que tu veux et du coup ça devient "West c'est nul parce que le retour est pas typé donc je peux faire n'importe quoi" et même quand on te souligne que en PHP7, tu pourras facultativement typer tes retours (donc forcer un typage à un endroit parce que tu le veux et ne pas le forcer à un autre), ça te convient encore pas.
T'as une dépendance circulaire, t'as juste (encore une fois) pas envie de l'admettre. PHP étant plus souple à ce niveau que d'autres langages (comme le C++), cela n'entraîne pas de problème majeur, mais (histoire de sortir de la zone de confort ), essaie-toi à faire le même code en C++, et tu verras: tu auras besoin d'une forward declaration. Et je me demande même si l'auto-complétion ne va pas sauter avec cette forward declaration.
Alan n'a pas eu tort au départ puisqu'il voulait copier la biologie. Or, dans la bio, la cellule ne fixe pas le destinataire du message. Dès lors, la notion de return est impossible (le return, c'est un message qui part de l'appelé et va vers l'appelant). C'est pas ce que t'as en PHP puisque tu fixes le destinataire du message. C'est donc au niveau du langage que tu veux changer les choses, pas au niveau du code. D'autant plus si tu parles du fait que East oblige à des pirouettes à cause du langage. C'est donc bien un principe de langage et non de code (l'OO est un langage d'ailleurs, pas une façon de coder).
Et accessoirement, en bio, il y a le même ADN dans toutes les cellules (sauf reproductrices ou mutations aléatoires). D'une part, je me sens pas de coder l'ADN complet (d'autant que j'ai pas forcément besoin de coder l'humanité et le monde du vivant complet si je veux juste simuler un joueur d'échecs: cela s'appelle faire un modèle), et cela implique qu'il n'existe qu'une et une seule classe pour toutes les cellules d'un être humain (voire, pour toute l'humanité ou même tout le vivant si l'ADN est vu comme des données de la cellule). Je comprends mieux pourquoi l'évolution s'étale sur des millions d'anées. Perso, j'aimerai aller un peu plus vite que ça
Si c'est "bien plus que return $this", alors y'a quoi de plus?
Avec tes liens, je suis tombé sur History: Alan POO, dont le passage "I realized that the cell/whole-computer metaphor would get rid of data, and that "<-" would be just another message token (it took me quite a while to think this out because I really thought of all these symbols as names for functions and procedures." retranscrit, si j'ai bien compris, ce qu'Alan voulait dire avec l'OO. Je sais pas de quel langage le "<-" vient (j'ai pas réussi à trouver), mais vu l'allure du symbole, j'ai envie de dire que c'est ou du return, ou du assign, donc, du pur West. Mais bon, là, je peux me planter.
Enfin, si instanceof est pas bien, tu dois être capable de me dire pourquoi en 15 secondes, non?