Oui, et en gros tu as deux catégories de gens : ceux qui disent que c'est pareil (c'est-à-dire, essentiellement, ceux qui connaissent OCaml), au motif que ça permet de faire exactement la même chose (avec en plus la sûreté du typage dans le cas d'OCaml) et ceux qui disent que c'est différent, parce que tu vois, moralement, quand même, le canard, c'est quand tu regardes le truc, et puis c'est coin coin alors c'est un canard... sans donner aucun exemple convaincant. Merveilleusement résumé par :
Aha, Leibniz equality ;-).
Le seul qui ressorte un peu du lot, c'est celui qui parle de conversion de type (genre entier <=> string <=> float à la demande), à la PHP, là je reconnais que ça n'a rien à voir avec le typage structurel, mais ce n'est généralement pas ce que les gens entendent par duck typing il me semble (on entend beaucoup plus parler de méthodes que de conversion de types).
Cela dit, si c'est vraiment ça le duck typing, je préfère ne pas en entendre parler :-) (va débugguer un programme avec ces conversion implicites, un pur plaisir...).
[^] # Re: Duck typing
Posté par MrLapinot (site web personnel) . En réponse au journal Le problème de la POO pratiquée par des étudiants. Évalué à 3.
Oui, et en gros tu as deux catégories de gens : ceux qui disent que c'est pareil (c'est-à-dire, essentiellement, ceux qui connaissent OCaml), au motif que ça permet de faire exactement la même chose (avec en plus la sûreté du typage dans le cas d'OCaml) et ceux qui disent que c'est différent, parce que tu vois, moralement, quand même, le canard, c'est quand tu regardes le truc, et puis c'est coin coin alors c'est un canard... sans donner aucun exemple convaincant. Merveilleusement résumé par :
Le seul qui ressorte un peu du lot, c'est celui qui parle de conversion de type (genre entier <=> string <=> float à la demande), à la PHP, là je reconnais que ça n'a rien à voir avec le typage structurel, mais ce n'est généralement pas ce que les gens entendent par duck typing il me semble (on entend beaucoup plus parler de méthodes que de conversion de types).
Cela dit, si c'est vraiment ça le duck typing, je préfère ne pas en entendre parler :-) (va débugguer un programme avec ces conversion implicites, un pur plaisir...).