Qu’est-ce que la vérification de type ?
La vérification de type est généralement effectuée par un compilateur qui vérifie que toutes les opérations ont reçu un nombre approprié d'arguments et de types de données. Il existe deux types de systèmes, à savoir :
Vérification de type statique
Lors de la vérification de type statique, il n'est pas nécessaire d'exécuter un programme pour le vérifier. Le compilateur effectue une vérification de type statique au moment de la compilation.
La vérification de type statique est utile lorsqu'il y a des erreurs dans votre programme car elles peuvent être détectées avant de l'exécuter. Cela contribue à améliorer la fiabilité et la sécurité.
Un exemple de vérification de type statique est le langage C, dans lequel vous devez déclarer des variables avant de les utiliser dans votre programme. Si vous ne les déclarez pas, le compilateur affichera une erreur et vous ne pourrez pas exécuter votre programme.
Vérification de type dynamique
La vérification de type dynamique n’a lieu qu’au moment de l’exécution ou de l’exécution. La vérification dynamique des types est utile car elle nous permet d'écrire des programmes sans connaissance préalable des types. Dans les scénarios où nous devons vérifier les types uniquement au moment de l’exécution.
La forme la plus courante de vérification de type consiste à attribuer un type de données à chaque variable, paramètre et valeur de retour de fonction dans un programme informatique. En fonction des types attribués à ces valeurs, les opérations appropriées sont autorisées (par exemple, ajouter deux variables entières pour produire un autre entier ou concaténer deux chaînes pour produire une autre chaîne). La vérification de type garantit que ces opérations sont valides pour les objectifs prévus.
Dans certains langages de programmation (par exemple C), la vérification de type est effectuée par le compilateur ; dans d'autres (par exemple PHP), elle peut être différée jusqu'au moment de l'exécution (auquel cas elle peut être appelée vérification de type dynamique).
Certains langages permettent au programmeur de définir de nouveaux types, afin que leurs programmes puissent utiliser ces types dans leurs algorithmes. D'autres langages permettent au programmeur d'associer des propriétés arbitraires à des valeurs au moment de l'exécution.
De nombreuses langues impliquent les deux approches ; par exemple, Java fournit des types prédéfinis et permet aux programmeurs de créer de nouvelles classes ou d'étendre celles existantes (c'est-à-dire de définir de nouveaux types). Certains langages, tels que Perl et Python, effectuent également une inférence de type et ne nécessitent aucune déclaration de type.