Typé statiquement

Définition - Que signifie Statically Typed?

Le typage statique est une caractéristique du langage de programmation dans laquelle les types de variables sont explicitement déclarés et sont donc déterminés au moment de la compilation. Cela permet au compilateur de décider si une variable donnée peut effectuer les actions qui lui sont demandées ou non.

Le typage statique associe les types à des variables, pas à des valeurs. Voici quelques exemples de langages de programmation typés statiquement:

  • Haskell
  • FORTRAN
  • Java
  • C
  • C#
  • C + +
  • Ada
  • Jade
  • Pascal
  • ML
  • Perl
  • Scala

Definir Tech explique le typage statique

Dans le typage statique, il n'est pas nécessaire d'effectuer des vérifications supplémentaires pendant l'exécution pour confirmer qu'un objet peut effectuer certaines actions. Les langages de programmation à typage statique effectuent une vérification de type au cours de la compilation plutôt qu'au moment de l'exécution, ce qui accélère considérablement l'exécution des programmes écrits dans ces langages.

De plus, l'outillage et la refactorisation sont meilleurs dans les langages à typage statique puisque les outils peuvent découvrir les types de variables au fur et à mesure que le programme est codé. Cela permet de comprendre instantanément les paramètres d'une fonction donnée ainsi que les méthodes disponibles pour un objet spécifique. Cela rend également le processus de refactoring beaucoup plus simple.

À quelques exceptions près, une fois qu'une méthode ou un objet est refactorisé, il est facile de comprendre immédiatement quels autres codes en dépendent. Cependant, cela a un coût. À quelques exceptions près, les langages à typage statique appellent des annotations supplémentaires pour informer le compilateur des objectifs visés par l'auteur.

En ce qui concerne la structure des objets, les langages typés statiquement ont tendance à être moins flexibles que leurs homologues dynamiques. Il n'est pas possible d'ajouter des champs et des méthodes à un objet donné pendant l'exécution. Cela peut être compliqué lors du traitement de données moins structurées; par exemple, l'analyse des requêtes JSON, XML ou de base de données conduit à des mappages d'objets moins qu'idéaux.