« 1 variable / 1 type », ça n'est pas du typage fort, c'est du typage statique. La « force » d'un typage consiste à définir si les conversions types sont implicites ou pas.
C pour moi, est un langage statique à typage faible, parce qu'il autorise les conversion implicites (sans cast) de void* vers n'importe quel type de pointeur, et les entiers vers les enums. Ça n'est pas un défaut, mais un choix de conception.
Python est un langage à typage fort, parce quelancera une exception parce que le langage se refuse à trancher si le résultat doit être 3 ou "12". Le programmeur devra explicitement convertir vers l'un ou l'autre des types avant d'appeler l'opérateur +. Python a, en outre, un typage dynamique, parce qu'une variable peut se voir affecter des valeurs de types différents pendant sa durée de vie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part "1" + 2
Je te rejoins sur l'interêt du typage dynamique pour les langages de scripts. Là où j'ai du mal, c'est quand on a à la fois du typage dynamique avec du typage faible (Javascript et ses conversions silencieuses).
Partager