Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Typage fort

Un article de Wikipédia, l'encyclopédie libre.

Pour un article plus général, voirTypage.

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet articlene cite pas suffisamment ses sources().

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant lesréférences utiles à savérifiabilité et en les liant à la section « Notes et références ».

En pratique :Quelles sources sont attendues ?Comment ajouter mes sources ?

Eninformatique, unlangage de programmation est ditfortement typé lorsqu'il garantit que lestypes de données employés décrivent correctement les données manipulées. Par opposition, un langage sans typage fort peut êtrefaiblement typé, ou pas du tout typé (mais en pratique ce n'est jamais le cas).

Depuis son invention, le terme detypage 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.

Conditions

[modifier |modifier le code]

Il est assez difficile de donner une définition précise du typage fort. Un langage est fortement typé si :

  1. Lacompilation ou l'exécution peuvent détecter des erreurs de typage. Sinon, le langage est dit faiblement typé ;
  2. Lesconversions implicites de types sont formellement interdites. Si de telles conversions sont possibles, le langage est faiblement typé. Exemples répondant à ce critère :OCaml,Haskell,PureScript.

Avec cette dernière approche, on pourrait par exemple obtenir le classement suivant :

TypageFortFaible
StatiqueAda,Java,Pascal,Rust ou mêmeVisual Basic avec l'Option ExplicitLangage C : short add (int x, int y) { return x+y; }

C++ : Personne p; p < 13;

DynamiqueRuby,PythonJavaScript : "2" + 4 → "24"

Dans l'exemple JavaScript, l'ambigüité provient de ce qu'un même symbole,+, est employé pour représenter aussi bien laconcaténation que l'addition, selon le contexte.

Dans l'exemple C++, le compilateur va implicitement appeler le constructeur de Personne(int) et l'opérateur < pour faire une comparaison, ce qui permet ici par exemple de savoir si l'âge de la personne est inférieur à 13.

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 (en)

Voir aussi

[modifier |modifier le code]

Sur les autres projets Wikimedia :

Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Typage_fort&oldid=205732103 ».
Catégorie :
Catégories cachées :

[8]ページ先頭

©2009-2025 Movatter.jp