Typage faible

Typage faible

Typage fort

Article principal : Typage.

En informatique, un langage de programmation est dit fortement typé lorsqu'il garantit que les types de données employés décrivent correctement les données manipulées. Par opposition, un langage sans typage fort est dit faiblement typé.

Depuis son invention, le terme de typage fort a été employé avec de nombreux sens contradictoires, ce qui lui a enlevé presque toute signification. La liste qui suit rassemble quelques affirmations possibles sur le typage fort, avec des exemples de langages fortement typés et respectant le critère et des contre-exemples de langages tout aussi fortement typés mais ne respectant pas le critère.

Conditions

Un langage est fortement typé si :

  • le type de donnée est associé au nom de la variable, plutôt qu'à sa valeur. Si le type est attaché à la valeur, le langage est faiblement typé. Exemple : Java. Contre-exemple : OCaml, qui est généralement considéré comme encore plus fortement typé que Java.
  • le compilateur est capable de déceler des erreurs de typage. Si les erreurs de typage ne sont reconnues qu'à l'exécution, le langage est faiblement typé. Exemple : OCaml. Contre-exemple : Scheme.
  • la compilation ou l'exécution peuvent détecter des erreurs de typage. Si ces erreurs ne sont jamais reconnues, le langage est faiblement typé.
  • les conversions implicites de types sont formellement interdites. Si de telles conversions sont possibles, le langage est faiblement typé. Exemple : OCaml. Contre-exemple : Haskell, qui est généralement considéré comme encore plus fortement typé que OCaml.
  • les conversions entre types doivent être explicitement décrites. Si des conversions implicites sont utilisées, le langage est faiblement typé. Exemple : OCaml.
  • aucun mécanisme du langage ne permet de passer outre le système de typage. Si ces mécanismes existent, comme le transtypage (appelé cast en anglais) en langage C, le langage est faiblement typé. Exemple : Haskell.
  • il possède un typage complet, alliant des types simples et des types composés. S’il n'a que quelques types, ou seulement des types simples ou scalaires, le langage est faiblement typé.
  • le type de ses données est fixe et ne peut varier pendant la durée de la vie de l'objet. Si le type d'une donnée peut changer, le langage est faiblement typé. On appelle cela le typage dynamique.
  • le système de typage fournit de fortes garanties sur le comportement à l'exécution du programme avant cette exécution. Si les garanties fournies par le système de typage ne sont pas fortes, ce langage est au mieux faiblement typé.

Quelques unes de ces définitions sont contradictoires.

Parce qu'il n'y a pas de définition claire de ce qui est fortement typé ou non, il est possible de trouver des instructions dans un langage qui le rendent tour à tour fortement typé ou faiblement typé. Ainsi dans les définitions 1, 7 et 8, le langage C est fortement typé, tandis que selon les définitions 4, 5, et 6, il est faiblement typé — en laissant le débat ouvert pour les points 2 et 3 puisque C permet des vérifications pour les types composés, mais pas pour les listes ou les types scalaires. Il est donc facile de trouver des gens convaincus que le 'C' est fortement typé, et tout aussi facile d'en trouver qui affirmeront qu'il est faiblement typé.

Ainsi, un expert en langages de programmation raconte :

« J'ai passé quelques semaines à essayer de clarifier les terminologies "fortement typé", "statiquement typé", "sûr", etc., et j'ai trouvé cela extraordinairement difficile... L'utilisation de ces termes est si diverse qu'elle les rend presque inutiles. »

— Benjamin C. Pierce

  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « Typage fort ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Typage faible de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Typage — Type (informatique) Pour les articles homonymes, voir Type (homonymie). En programmation un type de données, ou simplement type, définit le genre de contenu d une donnée et les opérations pouvant être effectuées sur la variable correspondante.… …   Wikipédia en Français

  • typage — ● n. m. ►TYPE Opération consistant à donner un type à une donnée. Le typage peut être fort ou faible, selon qu on insiste lourdement ou pas sur la nécessité de le respecter (il est interdit d additionner des carottes et des choux en Ada, il est… …   Dictionnaire d'informatique francophone

  • faible — ● adj. ►TYPE Contraire fort. * Qui compte le moins. Exemple: le bit de poids faible d un octet est le plus à droite. * Un typage est dit faible quand on n est pas vraiment obligé de le respecter …   Dictionnaire d'informatique francophone

  • Système de type — Type (informatique) Pour les articles homonymes, voir Type (homonymie). En programmation un type de données, ou simplement type, définit le genre de contenu d une donnée et les opérations pouvant être effectuées sur la variable correspondante.… …   Wikipédia en Français

  • Système de types — Type (informatique) Pour les articles homonymes, voir Type (homonymie). En programmation un type de données, ou simplement type, définit le genre de contenu d une donnée et les opérations pouvant être effectuées sur la variable correspondante.… …   Wikipédia en Français

  • Type (informatique) — Pour les articles homonymes, voir Type (homonymie). En programmation informatique, un type de donnée, ou simplement type, définit les valeurs que peut prendre une donnée, ainsi que les opérateurs qui peuvent lui être appliqués. Sommaire 1 Types… …   Wikipédia en Français

  • Type de données — Type (informatique) Pour les articles homonymes, voir Type (homonymie). En programmation un type de données, ou simplement type, définit le genre de contenu d une donnée et les opérations pouvant être effectuées sur la variable correspondante.… …   Wikipédia en Français

  • Types de données — Type (informatique) Pour les articles homonymes, voir Type (homonymie). En programmation un type de données, ou simplement type, définit le genre de contenu d une donnée et les opérations pouvant être effectuées sur la variable correspondante.… …   Wikipédia en Français

  • Perl6 — Perl 6 Apparu en Spécification : 2001 2009, mise en œuvre partielle par NQP Auteur Larry Wall …   Wikipédia en Français

  • Perl 6 — Apparu en Spécification : 2001 2011, mise en œuvre partielle par Rakudo Star Auteur …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”