Au risque de me répéter :) A partir du moment où tu fais du duck typing, même en statique, tu n'as plus de contrôle de type.
Si. A un moment, tu vas utiliser ton objet et tu va vouloir une interface "commune", sinon tu ne peux rien faire.
Si j'ai une liste python [True, "hello", 10, [1,2,3]], c'est très bien, mais je peux faire quoi avec? Seulement des choses commune à tous ces types, comme, dans ce cas, les convertir avec str:
foriin[True,"hello",10,[1,2,3]]:print(str(i))
A partir de ce moment là tu as donc une définition de type qui, en Haskell par exemple, serait un Show t => t, ou dit autrement: n'importe quel type t qui respecte la contrainte Show.
[^] # Re: Performance
Posté par Guillaum (site web personnel) . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 5.
Si. A un moment, tu vas utiliser ton objet et tu va vouloir une interface "commune", sinon tu ne peux rien faire.
Si j'ai une liste python
[True, "hello", 10, [1,2,3]], c'est très bien, mais je peux faire quoi avec? Seulement des choses commune à tous ces types, comme, dans ce cas, les convertir avecstr:A partir de ce moment là tu as donc une définition de type qui, en Haskell par exemple, serait un
Show t => t, ou dit autrement: n'importe quel typetqui respecte la contrainteShow.