Tu utilise l'une des approche du typage celle du typage statique et oui on peut encoder potentiellement ce que l'on veut dans les types et le typage est prouvé par le compilateur.
Là où une approche structurelle plutôt que par nom se démarque c'est que l'approche structurelle ne regarde pas la forme de la donnée en mémoire mais les propriétés qu'elle possède. Si je peux appeler les la méthode foo() sur ta variable on ne s'intéresse pas à qu'elle est la forme de cette donnée. C'est une souplesse qui est très structurante et elle évite d'avoir des arborescences de classes complexes et pas toujours pertinentes. On peut le vérifier dynamiquement comme en python ou statiquement comme en go.
Avec le typage dynamique on a beaucoup plus d'informations de typage au runtime. C'est très utile quand tu fais des programmes configurés par les données par exemple.
Après tu parle de cas général le typage du C++ est relativement pauvre, on peut faire des circonvolutions pour tenter d'encoder des choses en plus dans les types à coup de templating, mais plus aucun humain ne sera en mesure de reprendre le code en question.
[^] # Re: Performance
Posté par barmic . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 3.
Tu utilise l'une des approche du typage celle du typage statique et oui on peut encoder potentiellement ce que l'on veut dans les types et le typage est prouvé par le compilateur.
Là où une approche structurelle plutôt que par nom se démarque c'est que l'approche structurelle ne regarde pas la forme de la donnée en mémoire mais les propriétés qu'elle possède. Si je peux appeler les la méthode
foo()sur ta variable on ne s'intéresse pas à qu'elle est la forme de cette donnée. C'est une souplesse qui est très structurante et elle évite d'avoir des arborescences de classes complexes et pas toujours pertinentes. On peut le vérifier dynamiquement comme en python ou statiquement comme en go.Avec le typage dynamique on a beaucoup plus d'informations de typage au runtime. C'est très utile quand tu fais des programmes configurés par les données par exemple.
Après tu parle de cas général le typage du C++ est relativement pauvre, on peut faire des circonvolutions pour tenter d'encoder des choses en plus dans les types à coup de templating, mais plus aucun humain ne sera en mesure de reprendre le code en question.