Discussion:Typage fort
- Admissibilité
- Neutralité
- Droit d'auteur
- Article de qualité
- Bon article
- Lumière sur
- À faire
- Archives
- Commons
Il y a beaucoup de problèmes dans cet article. Le premier point affirme qu'en Caml le type est associé à la valeur, ce qui est n'importe quoi. Il se comporte comme Java sur ce point, sinon il serait impossible d'avoir du typage statique.
Il y a aussi des confusions entre typage statique, dynamique, faible et fort. Même si les limites sont parfois discutables, il y a des différences importantes. Je pense que l'article mériterait d'être effacé et recommencé. Actuellement, il ne sert qu'à embrouiller le lecteur.
Cet article est un troll : 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é (c'est, par exemple, le cas de PHP).
Exemple d'erreur de type à l’exécution en php Warning: Illegal offset type in ...
php > echo in_array('a', 'b');
PHP Warning: in_array() expects parameter 2 to be array, string given in php shell code on line 1
php > function test(DateTime $a) { var_dump($a); };
php > test('ee');
PHP Catchable fatal error: Argument 1 passed to test() must be an instance of DateTime, string given, called in php shell code on line 1 and defined in php shell code on line 1
PHP Stack trace: PHP 1. {main}() php shell code:0 PHP 2. test() php shell code:1
quelle surprise !
[modifier le code]Je suis très surpris de l’existence de cet article. Sur les quelques années d'étude en programmation et script que j'ai eu, tous les intervenants m'ont toujours donné la même définition : Le typage (faible, fort, ou statique) est le fait de préciser le format de la donnée attendu après compilation et/ou exécution. Le typage nul (ou dynamique), est le fait de ne pas préciser le format de la donnée, et de laisser l'environnement de compilation et/ou d'exécution faire ce choix suivant le contexte.
Il s'avère que bien des langages de programmation /script dit à "typage dynamique" (ou typage nul, ou non typé) permettent pourtant également, de manière optionnelle, un typage statique. De manière générale, un typage dont le choix n'est pas fait par le codeur au sein du code est dit "typage nul", lorsqu'il n'est pas obligatoire mais possible, il est dit "typage faible", et lorsqu'il est obligatoire, il est dit "typage fort". Le reste n'est que fonction de l’environnement de développement.
Le typage sert plusieurs buts : définir la nature de la donnée, définir les opérations permises, détecter des erreurs de codage, optimiser le programme pour l'exécution (ou le bytecode pour les langages interprétés).
Je ne possède pas de dictionnaire de terminologie informatique, mais puis-qu’aucuns des intervenants que j'ai rencontré ne semblait diverger de cette description, malgré les différences de parcours, d'institution, de niveaux, de domaines... j'en déduit que la majorité des programmeurs (professionnels comme amateurs) s'en rapproche sensiblement.
Il est donc surprenant d'y décrire ici (cet article en date du 2020-12-21) tant de confusion ou d'absence de consensus sur le sens général de la notion de "typage", et même d'aller jusqu'à parler de sens opposés (ex: "hôte" vs "hôte" -> "qui accueille" vs "qui est accueillit").
Il ne manque que des sources. ^^' — Le message qui précède, non signé, a été déposé par Euphorian waft (discuter), le 21 décembre 2020 à 12:46 (CET)